From 0d435a5fa4e37175ae87087d863edeb0005b17c0 Mon Sep 17 00:00:00 2001 From: lucono Date: Tue, 28 Jul 2015 04:08:45 -0400 Subject: [PATCH] update dist to v0.5.0 --- dist/xtype.js | 440 ++++++++++++++++++++++++++++++++++------------ dist/xtype.js.map | 2 +- dist/xtype.min.js | 4 +- 3 files changed, 334 insertions(+), 112 deletions(-) diff --git a/dist/xtype.js b/dist/xtype.js index 6dbf11a..9da45ac 100644 --- a/dist/xtype.js +++ b/dist/xtype.js @@ -1,4 +1,4 @@ -/** @license | xtypejs v0.4.2 | (c) 2015, Lucas Ononiwu | MIT license, xtype.js.org/license.txt +/** @license | xtypejs v0.5.0 | (c) 2015, Lucas Ononiwu | MIT license, xtype.js.org/license.txt */ /** @@ -49,7 +49,7 @@ * ------------------------- */ - var VERSION = '0.4.2', + var VERSION = '0.5.0', TYPE_DELIMITER_DEFAULT_PATTERN = '[|, ]', NAME_SCHEME_DEFAULT_OPTION_VALUE = 'default', OBJECT_CLASS_REGEX = /^\[object\s(.*)\]$/, @@ -61,6 +61,8 @@ objToString = Object.prototype.toString, optionsModule = objCreate(null), + extensionsModule = objCreate(null), + utilityModule = objCreate(null), /* * ----------- @@ -316,7 +318,7 @@ */ - var typeDelimiterRegExp = new RegExp(TYPE_DELIMITER_DEFAULT_PATTERN, 'g'), + var typeDelimiterRegExp, isAliasMode = false, /* Type list string memoization cache */ @@ -336,6 +338,8 @@ */ function init(moduleExport) { + setDelimiterPattern(TYPE_DELIMITER_DEFAULT_PATTERN); + ['Boolean', 'Number', 'String', 'Symbol', 'Function', 'Array', 'Date', 'RegExp', 'Object', 'Error'] .forEach(function(objectType) { objToStringToNameMapping['[object ' + objectType + ']'] = objectType.toLowerCase(); @@ -388,10 +392,10 @@ var compositeType = (typeof types === 'number') ? (ANY_TYPE & types) : (typeof types === 'string' && typeListStringToTypeIdCache[types] !== undefined) ? typeListStringToTypeIdCache[types] - : (typeof types === 'function' && item instanceof types) ? types : getCompositeType(types, item); return (typeof compositeType === 'function') || // Item is a specified instance type + (typeof compositeType === 'object') || // Item is a specified custom type !!(getBaseType(item, compositeType)); } @@ -511,118 +515,196 @@ typeString = types; types = types.split(typeDelimiterRegExp); } else if (!Array.isArray(types)) { - return (typeof types === 'number') ? (ANY_TYPE & types) - : (typeof types === 'function' && item instanceof types) ? types - : 0; + types = [types]; } var compositeType = 0, - requestedType; + requestedType, + typeDefinition; for (var typeIndex = 0, typeCount = types.length; typeIndex < typeCount; typeIndex++) { requestedType = types[typeIndex]; + typeDefinition = (typeof requestedType === 'string') ? (aliasToTypeMapping[requestedType] || 0) + : (typeof requestedType === 'object') ? // Support for unregistered custom-validated type if validator function field present in obj + (requestedType !== null && typeof requestedType.validator === 'function' ? requestedType : 0) + : (requestedType || 0); - if (typeof requestedType === 'string') { - compositeType = (compositeType | (aliasToTypeMapping[requestedType] || 0)); - } else if (typeof requestedType === 'number') { - compositeType = (compositeType | (ANY_TYPE & requestedType)); - } else if (typeof requestedType === 'function' && (item instanceof requestedType)) { - return requestedType; + if (typeof typeDefinition === 'number') { + compositeType = (compositeType | (ANY_TYPE & typeDefinition)); + } else if (typeof typeDefinition === 'function' && (item instanceof typeDefinition)) { + return typeDefinition; + } else if (typeof typeDefinition === 'object' && typeDefinition.validator(item) === true) { // No further need to null-check type definition + return typeDefinition; } } - if (typeString && (typeListStringToTypeIdCacheSize <= MAX_REQUEST_TYPE_CACHE_SIZE)) { + if (compositeType && typeString && (typeListStringToTypeIdCacheSize <= MAX_REQUEST_TYPE_CACHE_SIZE)) { typeListStringToTypeIdCache[typeString] = compositeType; typeListStringToTypeIdCacheSize++; } return compositeType; } - function registerTypes (customTypes) { - if (typeof customTypes !== 'object') { - return; + /* + * ---------------- + * HELPER FUNCTIONS + * ---------------- + */ + + /** + * Finds and returns the type with the given identity, if any. + */ + function getTypeWithIdentity(typeIdentity) { + var existingType, + existingTypeName, + existingTypeIdentity, + typeNames = objKeys(TYPE_VALUE_MAPPING), + typeCount = typeNames.length, + typeIndex; + + for (typeIndex = 0; typeIndex < typeCount; typeIndex++) { + existingTypeName = typeNames[typeIndex]; + existingType = TYPE_VALUE_MAPPING[existingTypeName]; + + existingTypeIdentity = (typeof existingType === 'object' ? + (existingType.identity ? existingType.identity : existingType.validator) + : existingType); + + if (typeIdentity === existingTypeIdentity) { + return existingTypeName; + } + } + return null; + } + + /** + * Gets a custom type definition from a definition string of component types. + */ + function getCustomTypeDefinition(definitionString, matchMode, customTypeName) { + var componentTypes = definitionString.trim().split(/[ ]*[, ][ ]*/g); + + if (componentTypes.length === 0) { + throw 'Type definition string for custom type \'' + customTypeName + '\'' + + ' must contain two or more type components'; } - var customTypeIds = [], - existingCompactNames = [], - customScheme = objCreate(null); - var customCompactNameScheme = (((arguments.length > 1) && (typeof arguments[1] === 'object')) ? arguments[1] : undefined); // For deprecated second argument compact names obj. To be removed with next major release. + matchMode = (matchMode === 'all' ? 'all' : 'any'); - if (compactNameMapping) { - objKeys(compactNameMapping).forEach(function(typeName) { - existingCompactNames.push(compactNameMapping[typeName]); - }); - } + var typeIds = [], + instanceTypes = [], + customTypes = []; - objKeys(customTypes).forEach(function(customTypeName) { - var customTypeValue = customTypes[customTypeName], - customTypeId = (typeof customTypeValue === 'object' ? customTypeValue.typeId : customTypeValue), - compactName = (typeof customTypeValue === 'object' ? customTypeValue.compactName : undefined); + componentTypes.forEach(function(componentTypeName) { + var typeValue = TYPE_VALUE_MAPPING[componentTypeName]; - compactName = (compactName || (customCompactNameScheme ? customCompactNameScheme[customTypeName] : undefined)); // For deprecated second argument compact names obj. To be removed with next major release. - - if (!/^([0-9a-z_]+)$/.test(customTypeName)) { - throw 'Type name must only contain lowercase alphanumeric characters and underscore'; - } else if ((typeof customTypeId !== 'number') || (customTypeId & ANY_TYPE) !== customTypeId) { - throw 'Custom type Id can only be derived using built-in types.'; - } else if (customTypeIds.indexOf(customTypeId) > -1 || (customTypeId in typeToAliasMapping)) { - throw 'Custom type Id "' + customTypeId + '" conflicts with new or existing type Id'; - } else if (customTypeName in TYPE_VALUE_MAPPING) { - throw 'Custom type name "' + customTypeName + '" conflicts with existing type name'; + if (typeof typeValue === 'undefined') { + throw 'Unknown type \'' + componentTypeName + '\' in type definition' + + ' string for custom type \'' + customTypeName + '\''; } - customTypeIds.push(customTypeId); - - var customType = objCreate(null); - - customType.typeId = customTypeId; - - if (compactNameMapping && (typeof compactName === 'string')) { - if (existingCompactNames.indexOf(compactName) > 0) { - throw 'Custom compact name "' + compactName + '" conflicts with new or existing name'; - } - customType.compactName = compactName; - existingCompactNames.push(compactName); + if (typeof typeValue === 'number') { + typeIds.push(typeValue); + } else if (typeof typeValue === 'function') { + instanceTypes.push(typeValue); + } else if (typeof typeValue === 'object') { + customTypes.push(typeValue); } - customScheme[customTypeName] = customType; }); - objKeys(customScheme).forEach(function(customTypeName) { - var customType = customScheme[customTypeName]; - - TYPE_VALUE_MAPPING[customTypeName] = customType.typeId; - - if ('compactName' in customType) { - compactNameMapping[customTypeName] = customType.compactName; + var compositeTypeId, + instanceChecker, + customTypeChecker; + + if (typeIds.length > 0) { + compositeTypeId = (matchMode === 'all' ? ANY_TYPE : 0); + + typeIds.forEach(function(typeId) { + compositeTypeId = (matchMode === 'all' ? (compositeTypeId & typeId) : (compositeTypeId | typeId)); + }); + } + + if (instanceTypes.length > 0) { + if (matchMode === 'all') { + instanceChecker = function(item) { + for (var index = 0, maxIndex = instanceTypes.length; index < maxIndex; index++) { + if (!(item instanceof instanceTypes[index])) { + return false; + } + } + return true; + }; + } else { + instanceChecker = function(item) { + for (var index = 0, maxIndex = instanceTypes.length; index < maxIndex; index++) { + if (item instanceof instanceTypes[index]) { + return true; + } + } + return false; + }; } - defineType(customTypeName, moduleExport); - }); + } - buildAliasMappings(nameToAliasMapping); - } - - function registerNameScheme(schemeName, schemeAliases) { - if (typeof schemeName !== 'string' || schemeName.trim().length === 0 || typeof schemeAliases !== 'object') { - return; - } - var trimSchemeName = schemeName.trim(), - existingScheme = bundledNameSchemes[trimSchemeName], - newScheme = objCreate(null); + if (customTypes.length > 0) { + if (matchMode === 'all') { + customTypeChecker = function(item) { + for (var index = 0, maxIndex = customTypes.length; index < maxIndex; index++) { + if (!customTypes[index].validator(item)) { + return false; + } + } + return true; + }; + } else { + customTypeChecker = function(item) { + for (var index = 0, maxIndex = customTypes.length; index < maxIndex; index++) { + if (customTypes[index].validator(item)) { + return true; + } + } + return false; + }; + } + } - objKeys(schemeAliases).forEach(function(typeName) { - newScheme[typeName] = schemeAliases[typeName]; - }); + if ((typeof compositeTypeId === 'undefined') && !instanceChecker && !customTypeChecker) { + throw 'Faild to determine valid composite checker for custom type \'' + customTypeName + '\'' + + ' with type definition string \'' + definitionString + '\''; + } - bundledNameSchemes[trimSchemeName] = newScheme; - return existingScheme; + if ((typeof compositeTypeId !== 'undefined') && !instanceChecker && !customTypeChecker) { + return compositeTypeId; + } + + var validator; + + if (instanceChecker && !compositeTypeId && !customTypeChecker) { + if (instanceTypes.length === 1) { + return instanceTypes[0]; + } + validator = instanceChecker; + } else if (customTypeChecker && !compositeTypeId && !instanceChecker) { + validator = customTypeChecker; + } else { + validator = function(item) { + return matchMode === 'all' ? + (((typeof compositeTypeId !== 'undefined') ? isType(item, compositeTypeId) : true) && + (instanceChecker ? instanceChecker(item) : true) && + (customTypeChecker ? customTypeChecker(item) : true)) + : (((typeof compositeTypeId !== 'undefined') ? isType(item, compositeTypeId) : false) || + (instanceChecker ? instanceChecker(item) : false) || + (customTypeChecker ? customTypeChecker(item) : false)); + }; + } + + var customTypeDefinition = objCreate(null); + + customTypeDefinition.validator = validator; + customTypeDefinition.identity = (matchMode + ' : ' + componentTypes.sort().join(' ')); + + return customTypeDefinition; } - /* - * ----------------- - * UTILITY FUNCTIONS - * ----------------- - */ - /** * Builds an alias map using data in supplied value and alias mappings. */ @@ -633,7 +715,7 @@ usedAliases = objCreate(null); objKeys(TYPE_VALUE_MAPPING).forEach(function(typeName) { - var type = TYPE_VALUE_MAPPING[typeName]; + var typeValue = TYPE_VALUE_MAPPING[typeName]; var aliasName = (aliasMapping ? aliasMapping[typeName] : typeName); aliasName = ((typeof aliasName === 'string' && aliasName.length > 0) ? aliasName : typeName); @@ -641,8 +723,10 @@ throw new Error('Type name conflict: "' + aliasName + '" aliased to "' + typeName + '" and "' + usedAliases[aliasName] + '"'); } - typeAliasMapping[type] = aliasName; - aliasTypeMapping[aliasName] = type; + if (typeof typeValue === 'number') { + typeAliasMapping[typeValue] = aliasName; // Type Ids used only for built-in simple and extended types (with numeric Ids) + } + aliasTypeMapping[aliasName] = typeValue; nameAliasMapping[typeName] = aliasName; usedAliases[aliasName] = typeName; @@ -660,17 +744,21 @@ * and interface methods for the specified type. */ function defineType(typeName, hostObj) { - Object.defineProperty(hostObj, typeName.toUpperCase(), { - value: TYPE_VALUE_MAPPING[typeName], - enumerable: true, - writable: false, - configurable: false - }); + var typeValue = TYPE_VALUE_MAPPING[typeName]; + + if (typeof typeValue === 'number') { + Object.defineProperty(hostObj, typeName.toUpperCase(), { + value: TYPE_VALUE_MAPPING[typeName], + enumerable: true, + writable: false, + configurable: false + }); + } var typeMethodName = getTypeMethodName(typeName); var typeCheckFunction = function(item) { - return isType(item, TYPE_VALUE_MAPPING[typeName]); + return isType(item, (TYPE_VALUE_MAPPING[typeName] || typeName)); }; hostObj[typeMethodName] = typeCheckFunction; @@ -745,18 +833,138 @@ } /* - * ------------ - * UTIL METHODS - * ------------ + * ----------------- + * EXTENSIONS MODULE + * ----------------- + */ + + /** + * Registers a single user-defined type into xtypejs. + */ + function registerType (customTypeName, customTypeValue) { + if (typeof customTypeName === 'object') { + registerTypes(customTypeName); + return; + } + if (typeof customTypeName !== 'string') { + return; + } + + if (objKeys(TYPE_VALUE_MAPPING).indexOf(customTypeName) > -1) { + throw 'Custom type name "' + customTypeName + '" conflicts with existing type name'; + } + + var customTypeDefinition, + composedCustomTypeDefinition, + compactName, + matchMode; + + if (!/^([0-9a-z_]+)$/.test(customTypeName)) { + throw 'Type name must only contain lowercase alphanumeric characters and underscore'; + } + + if (typeof customTypeValue === 'object' && customTypeValue !== null && + ('definition' in customTypeValue || (/* 'typeId' property deprecated - Remove with next major release */ typeof customTypeValue.typeId === 'number'))) { + customTypeDefinition = (customTypeValue.definition || + (/* 'typeId' property deprecated - Remove with next major release */ typeof customTypeValue.typeId === 'number' ? customTypeValue.typeId : undefined)); + compactName = customTypeValue.compactName; + matchMode = customTypeValue.matchMode; + } else { + customTypeDefinition = customTypeValue; + } + + if (typeof customTypeDefinition === 'string') { + customTypeDefinition = composedCustomTypeDefinition = getCustomTypeDefinition(customTypeDefinition, matchMode, customTypeName); + } + + if (typeof customTypeDefinition === 'number') { + if ((customTypeDefinition & ANY_TYPE) !== customTypeDefinition) { + throw 'Custom extended type composite \'' + customTypeName + '\' can only be derived using built-in extended type Ids.'; + } + } else if (typeof customTypeDefinition === 'object' && customTypeDefinition !== null) { + if (typeof customTypeDefinition.validator !== 'function') { + throw 'Custom type \'' + customTypeName + '\' definition is missing the validator function.'; + } + if (composedCustomTypeDefinition !== customTypeDefinition) { // make internal copy of externally supplied object + composedCustomTypeDefinition = objCreate(null); + composedCustomTypeDefinition.validator = customTypeDefinition.validator; + customTypeDefinition = composedCustomTypeDefinition; + } + } else if (typeof customTypeDefinition !== 'function') { + throw 'No valid type definition provided for requested custom type \'' + customTypeName + '\''; + } + + var customTypeIdentity = (typeof composedCustomTypeDefinition === 'object' ? composedCustomTypeDefinition.identity + : typeof customTypeDefinition === 'object' ? customTypeDefinition.validator + : customTypeDefinition); + + var existingTypeName = getTypeWithIdentity(customTypeIdentity); + + if (existingTypeName) { + throw 'Custom type \'' + customTypeName + '\' conflicts with other type' + + ' \'' + existingTypeName + '\' with identical definition'; + } + + TYPE_VALUE_MAPPING[customTypeName] = customTypeDefinition; + + if (compactNameMapping && (typeof compactName === 'string')) { + objKeys(compactNameMapping).forEach(function(typeName) { + if (compactName === compactNameMapping[typeName]) { + throw 'Custom compact name "' + compactName + '" conflicts with existing name'; + } + }); + compactNameMapping[customTypeName] = compactName; + } + defineType(customTypeName, moduleExport); + buildAliasMappings(nameToAliasMapping); + } + + /** + * Registers one or more user-defined types into xtypejs. + */ + function registerTypes (customTypes) { + if (typeof customTypes !== 'object') { + return; + } + objKeys(customTypes).forEach(function(customTypeName) { + registerType(customTypeName, customTypes[customTypeName]); + }); + } + + function registerNameScheme(schemeName, schemeAliases) { + if (typeof schemeName !== 'string' || schemeName.trim().length === 0 || typeof schemeAliases !== 'object') { + return; + } + var trimSchemeName = schemeName.trim(), + existingScheme = bundledNameSchemes[trimSchemeName], + newScheme = objCreate(null); + + objKeys(schemeAliases).forEach(function(typeName) { + newScheme[typeName] = schemeAliases[typeName]; + }); + + bundledNameSchemes[trimSchemeName] = newScheme; + return existingScheme; + } + + extensionsModule.registerType = registerType; + extensionsModule.registerNameScheme = registerNameScheme; + + /* + * ----------- + * UTIL MODULE + * ----------- */ /** * Returns the associated type Id for the specified type name. */ function nameToId(type) { - return (typeof type === 'function' ? type // instance type - : typeof type === 'string' ? (aliasToTypeMapping[type] || NONE_TYPE) // type name - : NONE_TYPE); // invalid type + var typeId = (typeof type === 'string' ? aliasToTypeMapping[type] : NONE_TYPE); + + return (typeof type === 'function' ? type + : (typeof typeId === 'number') ? typeId // type name + : NONE_TYPE); } /** @@ -786,6 +994,11 @@ }); return typeIdList; } + + utilityModule.nameToId = nameToId; + utilityModule.idToName = idToName; + utilityModule.typeNames = typeNames; + utilityModule.typeIds = typeIds; /* * -------------- @@ -793,7 +1006,7 @@ * -------------- */ - optionsModule.setDelimiterPattern = function(delimiterPattern) { + function setDelimiterPattern(delimiterPattern) { delimiterPattern = ((delimiterPattern === null || delimiterPattern === undefined || delimiterPattern === '') ? TYPE_DELIMITER_DEFAULT_PATTERN : delimiterPattern); @@ -802,15 +1015,15 @@ } delimiterPattern = ('[ ]*' + delimiterPattern + '[ ]*'); - if (delimiterPattern === typeDelimiterRegExp.source) { + if (typeDelimiterRegExp && (delimiterPattern === typeDelimiterRegExp.source)) { return; } typeDelimiterRegExp = new RegExp(delimiterPattern, 'g'); clearTypeListStringCache(); - }; + } - optionsModule.setNameScheme = function(nameScheme) { + function setNameScheme(nameScheme) { if (nameScheme === undefined || nameScheme === NAME_SCHEME_DEFAULT_OPTION_VALUE) { buildAliasMappings(); return; @@ -821,9 +1034,9 @@ if (typeof nameScheme === 'object') { buildAliasMappings(nameScheme); } - }; + } - optionsModule.set = function(options) { + function setOptions(options) { if (typeof options !== 'object') { return; } @@ -834,7 +1047,11 @@ optionMethod(options[optionName]); } }); - }; + } + + optionsModule.setDelimiterPattern = setDelimiterPattern; + optionsModule.setNameScheme = setNameScheme; + optionsModule.set = setOptions; /* * --------------------- @@ -851,16 +1068,21 @@ moduleExport.which = which; moduleExport.is = isType; + moduleExport.util = utilityModule; + moduleExport.ext = extensionsModule; + moduleExport.options = optionsModule; + + /* --- START: Deprecated API Methods --- */ moduleExport.typeIds = typeIds; moduleExport.typeNames = typeNames; moduleExport.nameToId = nameToId; moduleExport.idToName = idToName; - moduleExport.options = optionsModule; moduleExport.registerTypes = registerTypes; moduleExport.registerNameScheme = registerNameScheme; - moduleExport.setOptions = optionsModule.set; // Deprecated. To be removed with next major release. + moduleExport.setOptions = optionsModule.set; + /* --- END: Deprecated API Methods --- */ return moduleExport; } diff --git a/dist/xtype.js.map b/dist/xtype.js.map index 88c4ac5..4abdfed 100644 --- a/dist/xtype.js.map +++ b/dist/xtype.js.map @@ -1 +1 @@ -{"version":3,"file":"xtype.min.js","sources":["xtype.js"],"names":["root","undefined","newModule","module","moduleFactory","newInstance","init","moduleExport","forEach","objectType","objToStringToNameMapping","toLowerCase","objKeys","TYPE_VALUE_MAPPING","typeName","defineType","buildAliasMappings","Object","defineProperty","value","test","VERSION","enumerable","writable","configurable","typeOf","item","objToString","call","match","OBJECT_CLASS_REGEX","isNaN","isAliasMode","nameToAliasMapping","type","isType","types","compositeType","ANY_TYPE","typeListStringToTypeIdCache","getCompositeType","getBaseType","which","split","typeDelimiterRegExp","Array","isArray","typeIndex","typeCount","length","typeToAliasMapping","NONE_TYPE","xtype","eligibleTypesComposite","itemSimpleType","aliasToTypeMapping","DERIVED_TYPE","derivedTypeComposite","strLength","strTrimLength","arrElemCount","objPropCount","STRING","trim","EMPTY_STRING","WHITESPACE","MULTI_CHAR_STRING","SINGLE_CHAR_STRING","NUMBER","ZERO","NON_INFINITE_NUMBER","isFinite","INTEGER","POSITIVE_INTEGER","NEGATIVE_INTEGER","FLOAT","POSITIVE_FLOAT","NEGATIVE_FLOAT","INFINITE_NUMBER","POSITIVE_INFINITY","NEGATIVE_INFINITY","BOOLEAN","TRUE","FALSE","ARRAY","EMPTY_ARRAY","SINGLE_ELEM_ARRAY","MULTI_ELEM_ARRAY","OBJECT","EMPTY_OBJECT","SINGLE_PROP_OBJECT","MULTI_PROP_OBJECT","typeString","requestedType","MAX_REQUEST_TYPE_CACHE_SIZE","typeListStringToTypeIdCacheSize","registerTypes","customTypes","customTypeIds","existingCompactNames","customScheme","objCreate","customCompactNameScheme","arguments","compactNameMapping","push","customTypeName","customTypeValue","customTypeId","typeId","compactName","indexOf","customType","registerNameScheme","schemeName","schemeAliases","trimSchemeName","existingScheme","bundledNameSchemes","newScheme","aliasMapping","typeAliasMapping","aliasTypeMapping","nameAliasMapping","usedAliases","aliasName","Error","clearTypeListStringCache","hostObj","toUpperCase","typeMethodName","getTypeMethodName","typeCheckFunction","not","any","getInterfaceFunction","all","some","none","capitalizedTypeName","replace","camelPrefix","camelChar","delegateFunction","trueCondition","falseCondition","terminationResult","values","prototype","slice","valueIndex","trueResult","falseResult","capitalize","string","charAt","nameToId","idToName","typeNames","typeIds","typeIdList","alias","TYPE_DELIMITER_DEFAULT_PATTERN","NAME_SCHEME_DEFAULT_OPTION_VALUE","constructor","create","keys","toString","optionsModule","NULL","UNDEFINED","NAN","SYMBOL","FUNCTION","DATE","ERROR","REGEXP","BLANK_STRING","NON_EMPTY_STRING","NON_BLANK_STRING","POSITIVE_NUMBER","NEGATIVE_NUMBER","NON_ZERO_NUMBER","NON_NEGATIVE_NUMBER","NON_POSITIVE_NUMBER","NON_EMPTY_OBJECT","NON_EMPTY_ARRAY","NOTHING","PRIMITIVE","null","nan","true","false","empty_string","whitespace","single_char_string","multi_char_string","blank_string","non_empty_string","non_blank_string","number","zero","positive_integer","positive_float","positive_infinity","negative_integer","negative_float","negative_infinity","integer","float","infinite_number","positive_number","negative_number","non_infinite_number","non_positive_number","non_negative_number","non_zero_number","array","empty_array","single_elem_array","multi_elem_array","non_empty_array","object","empty_object","single_prop_object","multi_prop_object","non_empty_object","boolean","symbol","date","error","regexp","function","nothing","primitive","compact","RegExp","setDelimiterPattern","delimiterPattern","source","setNameScheme","nameScheme","set","options","optionName","optionMethod","is","setOptions","LIB_NAME","exports","define","amd","noConflict","previouslyDefinedValue","this"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"xtype.min.js","sources":["xtype.js"],"names":["root","undefined","newModule","module","moduleFactory","newInstance","init","moduleExport","setDelimiterPattern","TYPE_DELIMITER_DEFAULT_PATTERN","forEach","objectType","objToStringToNameMapping","toLowerCase","objKeys","TYPE_VALUE_MAPPING","typeName","defineType","buildAliasMappings","Object","defineProperty","value","test","VERSION","enumerable","writable","configurable","typeOf","item","objToString","call","match","OBJECT_CLASS_REGEX","isNaN","isAliasMode","nameToAliasMapping","type","isType","types","compositeType","ANY_TYPE","typeListStringToTypeIdCache","getCompositeType","getBaseType","which","split","typeDelimiterRegExp","Array","isArray","typeIndex","typeCount","length","typeToAliasMapping","NONE_TYPE","xtype","eligibleTypesComposite","itemSimpleType","aliasToTypeMapping","DERIVED_TYPE","derivedTypeComposite","strLength","strTrimLength","arrElemCount","objPropCount","STRING","trim","EMPTY_STRING","WHITESPACE","MULTI_CHAR_STRING","SINGLE_CHAR_STRING","NUMBER","ZERO","NON_INFINITE_NUMBER","isFinite","INTEGER","POSITIVE_INTEGER","NEGATIVE_INTEGER","FLOAT","POSITIVE_FLOAT","NEGATIVE_FLOAT","INFINITE_NUMBER","POSITIVE_INFINITY","NEGATIVE_INFINITY","BOOLEAN","TRUE","FALSE","ARRAY","EMPTY_ARRAY","SINGLE_ELEM_ARRAY","MULTI_ELEM_ARRAY","OBJECT","EMPTY_OBJECT","SINGLE_PROP_OBJECT","MULTI_PROP_OBJECT","typeString","requestedType","typeDefinition","validator","MAX_REQUEST_TYPE_CACHE_SIZE","typeListStringToTypeIdCacheSize","getTypeWithIdentity","typeIdentity","existingType","existingTypeName","existingTypeIdentity","typeNames","identity","getCustomTypeDefinition","definitionString","matchMode","customTypeName","componentTypes","typeIds","instanceTypes","customTypes","componentTypeName","typeValue","push","compositeTypeId","instanceChecker","customTypeChecker","typeId","index","maxIndex","customTypeDefinition","objCreate","sort","join","aliasMapping","typeAliasMapping","aliasTypeMapping","nameAliasMapping","usedAliases","aliasName","Error","clearTypeListStringCache","hostObj","toUpperCase","typeMethodName","getTypeMethodName","typeCheckFunction","not","any","getInterfaceFunction","all","some","none","capitalizedTypeName","replace","camelPrefix","camelChar","delegateFunction","trueCondition","falseCondition","terminationResult","values","arguments","prototype","slice","valueIndex","trueResult","falseResult","capitalize","string","charAt","registerType","customTypeValue","registerTypes","indexOf","composedCustomTypeDefinition","compactName","definition","customTypeIdentity","compactNameMapping","registerNameScheme","schemeName","schemeAliases","trimSchemeName","existingScheme","bundledNameSchemes","newScheme","nameToId","idToName","typeIdList","alias","delimiterPattern","source","RegExp","setNameScheme","nameScheme","NAME_SCHEME_DEFAULT_OPTION_VALUE","setOptions","options","optionName","optionMethod","optionsModule","constructor","create","keys","toString","extensionsModule","utilityModule","NULL","UNDEFINED","NAN","SYMBOL","FUNCTION","DATE","ERROR","REGEXP","BLANK_STRING","NON_EMPTY_STRING","NON_BLANK_STRING","POSITIVE_NUMBER","NEGATIVE_NUMBER","NON_ZERO_NUMBER","NON_NEGATIVE_NUMBER","NON_POSITIVE_NUMBER","NON_EMPTY_OBJECT","NON_EMPTY_ARRAY","NOTHING","PRIMITIVE","null","nan","true","false","empty_string","whitespace","single_char_string","multi_char_string","blank_string","non_empty_string","non_blank_string","number","zero","positive_integer","positive_float","positive_infinity","negative_integer","negative_float","negative_infinity","integer","float","infinite_number","positive_number","negative_number","non_infinite_number","non_positive_number","non_negative_number","non_zero_number","array","empty_array","single_elem_array","multi_elem_array","non_empty_array","object","empty_object","single_prop_object","multi_prop_object","non_empty_object","boolean","symbol","date","error","regexp","function","nothing","primitive","compact","set","is","util","ext","LIB_NAME","exports","define","amd","noConflict","previouslyDefinedValue","this"],"mappings":"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"} \ No newline at end of file diff --git a/dist/xtype.min.js b/dist/xtype.min.js index 3d1a28e..edc4e61 100644 --- a/dist/xtype.min.js +++ b/dist/xtype.min.js @@ -1,4 +1,4 @@ -/** @license | xtypejs v0.4.2 | (c) 2015, Lucas Ononiwu | MIT license, xtype.js.org/license.txt +/** @license | xtypejs v0.5.0 | (c) 2015, Lucas Ononiwu | MIT license, xtype.js.org/license.txt */ -!function(a,b){"use strict";function c(){var e=d(a,b);return e.newInstance=c,e}function d(a,b){function c(a){["Boolean","Number","String","Symbol","Function","Array","Date","RegExp","Object","Error"].forEach(function(a){Oa["[object "+a+"]"]=a.toLowerCase()}),F(Fa).forEach(function(b){n(b,a)}),m(),D.defineProperty(a,"VERSION",{value:/\s*{{[^}]*}}\s*/g.test(y)?"unspecified":y,enumerable:!0,writable:!1,configurable:!1})}function d(a){var b="object"==typeof a||"function"==typeof a?Oa[G.call(a)]||G.call(a).match(B)[1].toLowerCase():typeof a;return"number"===b&&isNaN(a)&&(b="nan"),Na?Ja[b]||b:b}function e(a){var b=null===a?"null":"object"==typeof a||"function"==typeof a?Oa[G.call(a)]||"object":typeof a;return"number"===b&&isNaN(a)&&(b="nan"),Na?Ja[b]||b:b}function f(a,c){var d="number"==typeof c?Da&c:"string"==typeof c&&Ha[c]!==b?Ha[c]:"function"==typeof c&&a instanceof c?c:j(c,a);return"function"==typeof d||!!i(a,d)}function g(a,b){b="string"==typeof b?b.split(Ma):Array.isArray(b)?b:[b];var c,d=b.length;for(c=0;d>c;c++)if(f(a,b[c]))return b[c];return La[I]}function h(a){return La[i(a)]}function i(a,c){var d=Ka[e(a)]||I;if(0===(d&Ea))return d&(c!==b?Da&c:Da);var f=c!==b?Ea&c:Ea;if(0===f)return 0;var g,h,i,j;switch(d){case ja:return(g=a.length)&&(h=a.trim().length),O&f&&0===g?O:P&f&&g>0&&0===h?P:R&f&&h>1?R:Q&f&&1===h?Q:0;case ka:return S&f&&0==a?S:ta&f&&isFinite(a)?ra&f&&a%1===0?T&f&&a>0?T:W&f&&0>a?W:0:qa&f&&a%1!==0?U&f&&a>0?U:X&f&&0>a?X:0:0:sa&f&&!isFinite(a)?V&f&&a>0?V:Y&f&&0>a?Y:0:0;case ia:return M&f&&1==a?M:N&f&&0==a?N:0;case la:return i=a.length,Z&f&&0===i?Z:$&f&&1===i?$:_&f&&i>1?_:0;case ma:return j=F(a).length,aa&f&&0===j?aa:ba&f&&1===j?ba:ca&f&&j>1?ca:0}return 0}function j(a,b){var c;if("string"==typeof a)c=a,a=a.split(Ma);else if(!Array.isArray(a))return"number"==typeof a?Da&a:"function"==typeof a&&b instanceof a?a:0;for(var d,e=0,f=0,g=a.length;g>f;f++)if(d=a[f],"string"==typeof d)e|=Ka[d]||0;else if("number"==typeof d)e|=Da&d;else if("function"==typeof d&&b instanceof d)return d;return c&&C>=Ia&&(Ha[c]=e,Ia++),e}function k(a){if("object"==typeof a){var c=[],d=[],e=E(null),f=arguments.length>1&&"object"==typeof arguments[1]?arguments[1]:b;x&&F(x).forEach(function(a){d.push(x[a])}),F(a).forEach(function(g){var h=a[g],i="object"==typeof h?h.typeId:h,j="object"==typeof h?h.compactName:b;if(j=j||(f?f[g]:b),!/^([0-9a-z_]+)$/.test(g))throw"Type name must only contain lowercase alphanumeric characters and underscore";if("number"!=typeof i||(i&Da)!==i)throw"Custom type Id can only be derived using built-in types.";if(c.indexOf(i)>-1||i in La)throw'Custom type Id "'+i+'" conflicts with new or existing type Id';if(g in Fa)throw'Custom type name "'+g+'" conflicts with existing type name';c.push(i);var k=E(null);if(k.typeId=i,x&&"string"==typeof j){if(d.indexOf(j)>0)throw'Custom compact name "'+j+'" conflicts with new or existing name';k.compactName=j,d.push(j)}e[g]=k}),F(e).forEach(function(a){var b=e[a];Fa[a]=b.typeId,"compactName"in b&&(x[a]=b.compactName),n(a,w)}),m(Ja)}}function l(a,b){if("string"==typeof a&&0!==a.trim().length&&"object"==typeof b){var c=a.trim(),d=Ga[c],e=E(null);return F(b).forEach(function(a){e[a]=b[a]}),Ga[c]=e,d}}function m(a){var b=E(null),c=E(null),d=E(null),e=E(null);F(Fa).forEach(function(f){var g=Fa[f],h=a?a[f]:f;if(h="string"==typeof h&&h.length>0?h:f,h in e)throw new Error('Type name conflict: "'+h+'" aliased to "'+f+'" and "'+e[h]+'"');b[g]=h,c[h]=g,d[f]=h,e[h]=f}),La=b,Ka=c,Ja=d,Na=!!a,o()}function n(a,c){D.defineProperty(c,a.toUpperCase(),{value:Fa[a],enumerable:!0,writable:!1,configurable:!1});var d=p(a),e=function(b){return f(b,Fa[a])};c[d]=e,c.not=c.not||E(null),c.not[d]=function(a){return!e(a)},c.any=c.any||E(null),c.any[d]=q(e,!0,b,!0),c.all=c.all||E(null),c.all[d]=q(e,b,!0,!1),c.some=c.some||E(null),c.some[d]=q(e,!0,!0,!0),c.none=c.none||E(null),c.none[d]=q(e,!0,b,!1)}function o(){Ha=E(null),Ia=0}function p(a){var b=a.toLowerCase().replace(/(^|_)(.)/g,function(a,b,c){return c.toUpperCase()});return"is"+b}function q(a,c,d,e){return function(f){f=arguments.length>1?Array.prototype.slice.call(arguments):Array.isArray(f)?f:[f];var g,h=!1,i=!1;for(g=0;gc;c++)if(f(a,b[c]))return b[c];return Ua[Q]}function h(a){return Ua[i(a)]}function i(a,c){var d=Ta[e(a)]||Q;if(0===(d&Ma))return d&(c!==b?La&c:La);var f=c!==b?Ma&c:Ma;if(0===f)return 0;var g,h,i,j;switch(d){case ra:return(g=a.length)&&(h=a.trim().length),W&f&&0===g?W:X&f&&g>0&&0===h?X:Z&f&&h>1?Z:Y&f&&1===h?Y:0;case sa:return $&f&&0==a?$:Ba&f&&isFinite(a)?za&f&&a%1===0?_&f&&a>0?_:ca&f&&0>a?ca:0:ya&f&&a%1!==0?aa&f&&a>0?aa:da&f&&0>a?da:0:0:Aa&f&&!isFinite(a)?ba&f&&a>0?ba:ea&f&&0>a?ea:0:0;case qa:return U&f&&1==a?U:V&f&&0==a?V:0;case ta:return i=a.length,fa&f&&0===i?fa:ga&f&&1===i?ga:ha&f&&i>1?ha:0;case ua:return j=L(a).length,ia&f&&0===j?ia:ja&f&&1===j?ja:ka&f&&j>1?ka:0}return 0}function j(a,b){var c;"string"==typeof a?(c=a,a=a.split(Pa)):Array.isArray(a)||(a=[a]);for(var d,e,f=0,g=0,h=a.length;h>g;g++)if(d=a[g],e="string"==typeof d?Ta[d]||0:"object"==typeof d?null!==d&&"function"==typeof d.validator?d:0:d||0,"number"==typeof e)f|=La&e;else{if("function"==typeof e&&b instanceof e)return e;if("object"==typeof e&&e.validator(b)===!0)return e}return f&&c&&I>=Ra&&(Qa[c]=f,Ra++),f}function k(a){var b,c,d,e,f=L(Na),g=f.length;for(e=0;g>e;e++)if(c=f[e],b=Na[c],d="object"==typeof b?b.identity?b.identity:b.validator:b,a===d)return c;return null}function l(a,b,c){var d=a.trim().split(/[ ]*[, ][ ]*/g);if(0===d.length)throw"Type definition string for custom type '"+c+"' must contain two or more type components";b="all"===b?"all":"any";var e=[],g=[],h=[];d.forEach(function(a){var b=Na[a];if("undefined"==typeof b)throw"Unknown type '"+a+"' in type definition string for custom type '"+c+"'";"number"==typeof b?e.push(b):"function"==typeof b?g.push(b):"object"==typeof b&&h.push(b)});var i,j,k;if(e.length>0&&(i="all"===b?La:0,e.forEach(function(a){i="all"===b?i&a:i|a})),g.length>0&&(j="all"===b?function(a){for(var b=0,c=g.length;c>b;b++)if(!(a instanceof g[b]))return!1;return!0}:function(a){for(var b=0,c=g.length;c>b;b++)if(a instanceof g[b])return!0;return!1}),h.length>0&&(k="all"===b?function(a){for(var b=0,c=h.length;c>b;b++)if(!h[b].validator(a))return!1;return!0}:function(a){for(var b=0,c=h.length;c>b;b++)if(h[b].validator(a))return!0;return!1}),"undefined"==typeof i&&!j&&!k)throw"Faild to determine valid composite checker for custom type '"+c+"' with type definition string '"+a+"'";if("undefined"!=typeof i&&!j&&!k)return i;var l;if(!j||i||k)l=!k||i||j?function(a){return"all"===b?("undefined"!=typeof i?f(a,i):!0)&&(j?j(a):!0)&&(k?k(a):!0):("undefined"!=typeof i?f(a,i):!1)||(j?j(a):!1)||(k?k(a):!1)}:k;else{if(1===g.length)return g[0];l=j}var m=K(null);return m.validator=l,m.identity=b+" : "+d.sort().join(" "),m}function m(a){var b=K(null),c=K(null),d=K(null),e=K(null);L(Na).forEach(function(f){var g=Na[f],h=a?a[f]:f;if(h="string"==typeof h&&h.length>0?h:f,h in e)throw new Error('Type name conflict: "'+h+'" aliased to "'+f+'" and "'+e[h]+'"');"number"==typeof g&&(b[g]=h),c[h]=g,d[f]=h,e[h]=f}),Ua=b,Ta=c,Sa=d,Va=!!a,o()}function n(a,c){var d=Na[a];"number"==typeof d&&J.defineProperty(c,a.toUpperCase(),{value:Na[a],enumerable:!0,writable:!1,configurable:!1});var e=p(a),g=function(b){return f(b,Na[a]||a)};c[e]=g,c.not=c.not||K(null),c.not[e]=function(a){return!g(a)},c.any=c.any||K(null),c.any[e]=q(g,!0,b,!0),c.all=c.all||K(null),c.all[e]=q(g,b,!0,!1),c.some=c.some||K(null),c.some[e]=q(g,!0,!0,!0),c.none=c.none||K(null),c.none[e]=q(g,!0,b,!1)}function o(){Qa=K(null),Ra=0}function p(a){var b=a.toLowerCase().replace(/(^|_)(.)/g,function(a,b,c){return c.toUpperCase()});return"is"+b}function q(a,c,d,e){return function(f){f=arguments.length>1?Array.prototype.slice.call(arguments):Array.isArray(f)?f:[f];var g,h=!1,i=!1;for(g=0;g-1)throw'Custom type name "'+a+'" conflicts with existing type name';var d,e,f,g;if(!/^([0-9a-z_]+)$/.test(a))throw"Type name must only contain lowercase alphanumeric characters and underscore";if("object"==typeof c&&null!==c&&("definition"in c||"number"==typeof c.typeId)?(d=c.definition||("number"==typeof c.typeId?c.typeId:b),f=c.compactName,g=c.matchMode):d=c,"string"==typeof d&&(d=e=l(d,g,a)),"number"==typeof d){if((d&La)!==d)throw"Custom extended type composite '"+a+"' can only be derived using built-in extended type Ids."}else if("object"==typeof d&&null!==d){if("function"!=typeof d.validator)throw"Custom type '"+a+"' definition is missing the validator function.";e!==d&&(e=K(null),e.validator=d.validator,d=e)}else if("function"!=typeof d)throw"No valid type definition provided for requested custom type '"+a+"'";var h="object"==typeof e?e.identity:"object"==typeof d?d.validator:d,i=k(h);if(i)throw"Custom type '"+a+"' conflicts with other type '"+i+"' with identical definition";Na[a]=d,D&&"string"==typeof f&&(L(D).forEach(function(a){if(f===D[a])throw'Custom compact name "'+f+'" conflicts with existing name'}),D[a]=f),n(a,C),m(Sa)}}function t(a){"object"==typeof a&&L(a).forEach(function(b){s(b,a[b])})}function u(a,b){if("string"==typeof a&&0!==a.trim().length&&"object"==typeof b){var c=a.trim(),d=Oa[c],e=K(null);return L(b).forEach(function(a){e[a]=b[a]}),Oa[c]=e,d}}function v(a){var b="string"==typeof a?Ta[a]:Q;return"function"==typeof a?a:"number"==typeof b?b:Q}function w(a){return"function"==typeof a?a:"number"==typeof a?Ua[a]||Ua[Q]:Ua[Q]}function x(){return L(Ta)}function y(){var a=[];return L(Ta).forEach(function(b){a.push(Ta[b])}),a}function z(a){a=null===a||a===b||""===a?F:a,"string"==typeof a&&(a="[ ]*"+a+"[ ]*",Pa&&a===Pa.source||(Pa=new RegExp(a,"g"),o()))}function A(a){return a===b||a===G?void m():("string"==typeof a&&a in Oa&&(a=Oa[a]),void("object"==typeof a&&m(a)))}function B(a){"object"==typeof a&&L(a).forEach(function(b){var c=N["set"+r(b)];"function"==typeof c&&c(a[b])})}var C,D,E="0.5.0",F="[|, ]",G="default",H=/^\[object\s(.*)\]$/,I=250,J={}.constructor||J,K=J.create,L=J.keys,M=J.prototype.toString,N=K(null),O=K(null),P=K(null),Q=0,R=1,S=2,T=4,U=8,V=16,W=32,X=64,Y=128,Z=256,$=512,_=1024,aa=2048,ba=4096,ca=8192,da=16384,ea=32768,fa=65536,ga=1<<17,ha=1<<18,ia=1<<19,ja=1<<20,ka=1<<21,la=1<<22,ma=1<<23,na=1<<24,oa=1<<25,pa=1<<26,qa=U|V,ra=W|X|Y|Z,sa=_|aa|ba|ca|da|ea|$,ta=fa|ga|ha,ua=ia|ja|ka,va=W|X,wa=X|Y|Z,xa=Y|Z,ya=aa|da,za=_|ca|$,Aa=ba|ea,Ba=za|ya,Ca=_|aa|ba,Da=ca|da|ea,Ea=Ca|Da,Fa=Ca|$,Ga=Da|$,Ha=ja|ka,Ia=ga|ha,Ja=R|S,Ka=ra|sa|qa|la,La=R|S|T|la|ma|na|oa|pa|U|V|W|X|Y|Z|$|_|aa|ba|ca|da|ea|fa|ga|ha|ia|ja|ka,Ma=qa|ra|sa|ta|ua,Na={"null":R,undefined:S,nan:T,"true":U,"false":V,string:ra,empty_string:W,whitespace:X,single_char_string:Y,multi_char_string:Z,blank_string:va,non_empty_string:wa,non_blank_string:xa,number:sa,zero:$,positive_integer:_,positive_float:aa,positive_infinity:ba,negative_integer:ca,negative_float:da,negative_infinity:ea,integer:za,"float":ya,infinite_number:Aa,positive_number:Ca,negative_number:Da,non_infinite_number:Ba,non_positive_number:Ga,non_negative_number:Fa,non_zero_number:Ea,array:ta,empty_array:fa,single_elem_array:ga,multi_elem_array:ha,non_empty_array:Ia,object:ua,empty_object:ia,single_prop_object:ja,multi_prop_object:ka,non_empty_object:Ha,"boolean":qa,symbol:la,date:na,error:oa,regexp:pa,"function":ma,nothing:Ja,primitive:Ka,any:La,none:Q},Oa=K(null);D={"null":"null",undefined:"undef",nan:"nan",string:"str",empty_string:"str0",whitespace:"str_",single_char_string:"str1",multi_char_string:"str2+",blank_string:"str0_",non_empty_string:"-str0",non_blank_string:"-str0_","boolean":"bool","true":"true","false":"false",number:"num",positive_number:"num+",negative_number:"num-",zero:"num0",non_positive_number:"-num+",non_negative_number:"-num-",non_zero_number:"-num0",integer:"int",positive_integer:"int+",negative_integer:"int-","float":"float",positive_float:"float+",negative_float:"float-",infinite_number:"inf",positive_infinity:"inf+",negative_infinity:"inf-",non_infinite_number:"-inf",array:"arr",empty_array:"arr0",single_elem_array:"arr1",multi_elem_array:"arr2+",non_empty_array:"-arr0",object:"obj",empty_object:"obj0",single_prop_object:"obj1",multi_prop_object:"obj2+",non_empty_object:"-obj0",symbol:"symb",date:"date",error:"err",regexp:"regex","function":"func",nothing:"nil",primitive:"prim",any:"any",none:"none"},Oa.compact=D;var Pa,Qa,Ra,Sa,Ta,Ua,Va=!1,Wa=K(null);return O.registerType=s,O.registerNameScheme=u,P.nameToId=v,P.idToName=w,P.typeNames=x,P.typeIds=y,N.setDelimiterPattern=z,N.setNameScheme=A,N.set=B,C=h,c(C),C.type=e,C.typeOf=d,C.which=g,C.is=f,C.util=P,C.ext=O,C.options=N,C.typeIds=y,C.typeNames=x,C.nameToId=v,C.idToName=w,C.registerTypes=t,C.registerNameScheme=u,C.setOptions=N.set,C}var e="xtype",f=c();"undefined"!=typeof exports?"undefined"!=typeof module&&module.exports&&(exports=module.exports=f):"function"==typeof define&&define.amd?define(function(){return f}):(f.noConflict=function(b){return function(){return a[e]=b,delete f.noConflict,f}}(a[e]),a[e]=f)}(this); //# sourceMappingURL=xtype.js.map \ No newline at end of file