loose instanceof: check constructor function name instead
This commit is contained in:
parent
ca098490bb
commit
eb4e8884d9
2 changed files with 2 additions and 2 deletions
|
@ -26,7 +26,7 @@ module.exports = function enforce(type, value) {
|
||||||
}
|
}
|
||||||
|
|
||||||
default: {
|
default: {
|
||||||
if (value instanceof type) return
|
if (value.constructor.toString().match(/function (.*?)\(/)[1] === type.name) return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
var assert = require('assert')
|
var assert = require('assert')
|
||||||
var enforceType = require('../src/types')
|
var enforceType = require('../src/types')
|
||||||
|
|
||||||
function CustomType() {}
|
function CustomType() { return "ensure non-greedy match".toUpperCase() }
|
||||||
|
|
||||||
var types = ['Array', 'Boolean', 'Buffer', 'Number', 'String', CustomType]
|
var types = ['Array', 'Boolean', 'Buffer', 'Number', 'String', CustomType]
|
||||||
var values = [[], true, new Buffer(1), 1234, 'foobar', new CustomType()]
|
var values = [[], true, new Buffer(1), 1234, 'foobar', new CustomType()]
|
||||||
|
|
Loading…
Reference in a new issue