can-data-types
Advanced tools
Comparing version
{ | ||
"name": "can-data-types", | ||
"version": "1.3.0-pre.0", | ||
"version": "1.3.0-pre.1", | ||
"description": "Reusable special data types", | ||
@@ -5,0 +5,0 @@ "homepage": "", |
@@ -29,2 +29,8 @@ var canReflect = require("can-reflect"); | ||
var checkDateMatchesNumber = { | ||
check: function(date, num) { | ||
QUnit.assert.strictEqual(date.getTime(), num, "Converted number to date"); | ||
} | ||
}; | ||
var matrix = { | ||
@@ -47,2 +53,4 @@ check: { | ||
var dateAsNumber = new Date(1815, 11, 10).getTime(); | ||
var testCases = [ | ||
@@ -53,2 +61,7 @@ { Type: Boolean, value: true }, | ||
{ Type: String, value: "foo" }, | ||
{ | ||
Type: Date, value: dateAsNumber, | ||
convert: checkDateMatchesNumber, | ||
maybeConvert: checkDateMatchesNumber | ||
}, | ||
@@ -55,0 +68,0 @@ // Can convert types |
61
types.js
@@ -88,64 +88,9 @@ var canReflect = require("can-reflect"); | ||
/* | ||
function makeTypeWithAction(action) { | ||
var typeCache = new Map(); | ||
return function createType(Type) { | ||
if(typeCache.has(Type)) { | ||
return typeCache.get(Type); | ||
} | ||
var isMember = function() { return false; }; | ||
if(primitives.has(Type)) { | ||
isMember = primitives.get(Type).isMember; | ||
} | ||
var createNewOfType = function(val) { | ||
if (val == null) { | ||
return val; | ||
} | ||
if (val instanceof Type || isMember(val)) { | ||
return val; | ||
} | ||
return action(Type, val); | ||
} | ||
var createTypeWithSchema = canReflect.assignSymbols(createNewOfType, { | ||
"can.new": createNewOfType, | ||
"can.getSchema": function(){ | ||
return { | ||
type: "Or", | ||
values: [Type, undefined, null] | ||
}; | ||
}, | ||
"can.getName": function(){ | ||
return canReflect.getName(Type); | ||
}, | ||
"can.isMember": function(value) { | ||
return value == null || value instanceof Type || isMember(value); | ||
} | ||
}); | ||
typeCache.set(Type, createTypeWithSchema); | ||
return createTypeWithSchema; | ||
} | ||
} | ||
*/ | ||
function check(Type, val) { | ||
if(primitives.has(Type)) { | ||
throw new Error(`Type value '${val}' is not of type ${canReflect.getName(Type)}.`); | ||
} | ||
return canReflect.new(Type, val); | ||
throw new Error(`Type value '${val}' is not of type ${canReflect.getName(Type)}.`); | ||
} | ||
function convert(Type, val) { | ||
if(primitives.has(Type)) { | ||
return canReflect.convert(val, Type); | ||
} | ||
return canReflect.new(Type, val); | ||
return canReflect.convert(val, Type); | ||
//return canReflect.new(Type, val); | ||
} | ||
@@ -152,0 +97,0 @@ |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
0
-100%22361
-3.3%351
-8.83%