This commit is contained in:
Sindre Sorhus 2017-09-29 10:10:29 +07:00
parent dbe5cc8d82
commit 226e4d90da
2 changed files with 9 additions and 9 deletions

View file

@ -84,8 +84,8 @@ is.promise = x => is.nativePromise(x) || hasPromiseAPI(x);
is.generator = x => is.iterable(x) && is.function(x.next) && is.function(x.throw); is.generator = x => is.iterable(x) && is.function(x.next) && is.function(x.throw);
// Change to use `isObjectOfType` once Node 4.x.x LTS is dropped // TODO: Change to use `isObjectOfType` once Node.js 6 or higher is targeted
is.generatorFunction = x => x.constructor.name === 'GeneratorFunction'; is.generatorFunction = x => is.function(x) && is.function(x.constructor) && x.constructor.name === 'GeneratorFunction';
is.regExp = isObjectOfType('RegExp'); is.regExp = isObjectOfType('RegExp');
is.date = isObjectOfType('Date'); is.date = isObjectOfType('Date');

14
test.js
View file

@ -59,8 +59,11 @@ const types = new Map([
]], ]],
['promise', {then() {}, catch() {}}], ['promise', {then() {}, catch() {}}],
['generator', (function * () { ['generator', (function * () {
yield 42; yield 4;
})()], })()],
['generatorFunction', function * () {
yield 4;
}],
['map', new Map()], ['map', new Map()],
['set', new Set()], ['set', new Set()],
['weakMap', new WeakMap()], ['weakMap', new WeakMap()],
@ -138,7 +141,7 @@ test('is.array', t => {
}); });
test('is.function', t => { test('is.function', t => {
testType(t, 'function'); testType(t, 'function', ['generatorFunction']);
}); });
test('is.buffer', t => { test('is.buffer', t => {
@ -174,14 +177,11 @@ if (isNode8orHigher) {
} }
test('is.generator', t => { test('is.generator', t => {
testType(t, 'generator', ['function']); testType(t, 'generator');
}); });
test('is.generatorFunction', t => { test('is.generatorFunction', t => {
const gen = function * () { testType(t, 'generatorFunction', ['function']);
yield 42;
};
t.true(m.generatorFunction(gen));
}); });
test('is.map', t => { test('is.map', t => {