Merge branch 'master' into add-is-gen
This commit is contained in:
commit
bd72dbd1e5
3 changed files with 19 additions and 1 deletions
4
index.js
4
index.js
|
|
@ -134,11 +134,13 @@ is.plainObject = x => {
|
||||||
// eslint-disable-next-line no-return-assign
|
// eslint-disable-next-line no-return-assign
|
||||||
return getObjectType(x) === 'Object' &&
|
return getObjectType(x) === 'Object' &&
|
||||||
(prototype = Object.getPrototypeOf(x), prototype === null ||
|
(prototype = Object.getPrototypeOf(x), prototype === null ||
|
||||||
prototype === Object.getPrototypeOf({}));
|
prototype === Object.getPrototypeOf({}));
|
||||||
};
|
};
|
||||||
|
|
||||||
is.iterable = x => !is.null(x) && !is.undefined(x) && typeof x[Symbol.iterator] === 'function';
|
is.iterable = x => !is.null(x) && !is.undefined(x) && typeof x[Symbol.iterator] === 'function';
|
||||||
|
|
||||||
|
is.class = x => typeof x === 'function' && x.toString().startsWith('class ');
|
||||||
|
|
||||||
const typedArrayTypes = new Set([
|
const typedArrayTypes = new Set([
|
||||||
'Int8Array',
|
'Int8Array',
|
||||||
'Uint8Array',
|
'Uint8Array',
|
||||||
|
|
|
||||||
|
|
@ -118,6 +118,10 @@ JavaScript primitives are as follows: `null`, `undefined`, `string`, `number`, `
|
||||||
An object is plain if it's created by either `{}`, `new Object()`, or `Object.create(null)`.
|
An object is plain if it's created by either `{}`, `new Object()`, or `Object.create(null)`.
|
||||||
|
|
||||||
##### .iterable(value)
|
##### .iterable(value)
|
||||||
|
##### .class(value)
|
||||||
|
|
||||||
|
Returns `true` for instances created by a ES2015 class.
|
||||||
|
|
||||||
##### .typedArray(value)
|
##### .typedArray(value)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
12
test.js
12
test.js
|
|
@ -287,6 +287,18 @@ test('is.iterable', t => {
|
||||||
t.false(m.iterable({}));
|
t.false(m.iterable({}));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('is.class', t => {
|
||||||
|
class Foo {}
|
||||||
|
const classDeclarations = [
|
||||||
|
Foo,
|
||||||
|
class Bar extends Foo {}
|
||||||
|
];
|
||||||
|
|
||||||
|
for (const x of classDeclarations) {
|
||||||
|
t.true(m.class(x));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
test('is.typedArray', t => {
|
test('is.typedArray', t => {
|
||||||
const typedArrays = [
|
const typedArrays = [
|
||||||
new Int8Array(),
|
new Int8Array(),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue