loose instanceof: check constructor function name instead

This commit is contained in:
Wei Lu 2014-10-07 00:08:18 -07:00
parent ca098490bb
commit eb4e8884d9
2 changed files with 2 additions and 2 deletions

View file

@ -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
} }
} }

View file

@ -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()]