Files
portfolio/node_modules/.cache/babel-loader/67410718c858b3d1099767c999f89e76.json
2021-09-20 16:54:47 -04:00

1 line
23 KiB
JSON

{"ast":null,"code":"'use strict';\n\nmodule.exports = {\n copy: copy,\n checkDataType: checkDataType,\n checkDataTypes: checkDataTypes,\n coerceToTypes: coerceToTypes,\n toHash: toHash,\n getProperty: getProperty,\n escapeQuotes: escapeQuotes,\n equal: require('fast-deep-equal'),\n ucs2length: require('./ucs2length'),\n varOccurences: varOccurences,\n varReplace: varReplace,\n schemaHasRules: schemaHasRules,\n schemaHasRulesExcept: schemaHasRulesExcept,\n schemaUnknownRules: schemaUnknownRules,\n toQuotedString: toQuotedString,\n getPathExpr: getPathExpr,\n getPath: getPath,\n getData: getData,\n unescapeFragment: unescapeFragment,\n unescapeJsonPointer: unescapeJsonPointer,\n escapeFragment: escapeFragment,\n escapeJsonPointer: escapeJsonPointer\n};\n\nfunction copy(o, to) {\n to = to || {};\n\n for (var key in o) to[key] = o[key];\n\n return to;\n}\n\nfunction checkDataType(dataType, data, strictNumbers, negate) {\n var EQUAL = negate ? ' !== ' : ' === ',\n AND = negate ? ' || ' : ' && ',\n OK = negate ? '!' : '',\n NOT = negate ? '' : '!';\n\n switch (dataType) {\n case 'null':\n return data + EQUAL + 'null';\n\n case 'array':\n return OK + 'Array.isArray(' + data + ')';\n\n case 'object':\n return '(' + OK + data + AND + 'typeof ' + data + EQUAL + '\"object\"' + AND + NOT + 'Array.isArray(' + data + '))';\n\n case 'integer':\n return '(typeof ' + data + EQUAL + '\"number\"' + AND + NOT + '(' + data + ' % 1)' + AND + data + EQUAL + data + (strictNumbers ? AND + OK + 'isFinite(' + data + ')' : '') + ')';\n\n case 'number':\n return '(typeof ' + data + EQUAL + '\"' + dataType + '\"' + (strictNumbers ? AND + OK + 'isFinite(' + data + ')' : '') + ')';\n\n default:\n return 'typeof ' + data + EQUAL + '\"' + dataType + '\"';\n }\n}\n\nfunction checkDataTypes(dataTypes, data, strictNumbers) {\n switch (dataTypes.length) {\n case 1:\n return checkDataType(dataTypes[0], data, strictNumbers, true);\n\n default:\n var code = '';\n var types = toHash(dataTypes);\n\n if (types.array && types.object) {\n code = types.null ? '(' : '(!' + data + ' || ';\n code += 'typeof ' + data + ' !== \"object\")';\n delete types.null;\n delete types.array;\n delete types.object;\n }\n\n if (types.number) delete types.integer;\n\n for (var t in types) code += (code ? ' && ' : '') + checkDataType(t, data, strictNumbers, true);\n\n return code;\n }\n}\n\nvar COERCE_TO_TYPES = toHash(['string', 'number', 'integer', 'boolean', 'null']);\n\nfunction coerceToTypes(optionCoerceTypes, dataTypes) {\n if (Array.isArray(dataTypes)) {\n var types = [];\n\n for (var i = 0; i < dataTypes.length; i++) {\n var t = dataTypes[i];\n if (COERCE_TO_TYPES[t]) types[types.length] = t;else if (optionCoerceTypes === 'array' && t === 'array') types[types.length] = t;\n }\n\n if (types.length) return types;\n } else if (COERCE_TO_TYPES[dataTypes]) {\n return [dataTypes];\n } else if (optionCoerceTypes === 'array' && dataTypes === 'array') {\n return ['array'];\n }\n}\n\nfunction toHash(arr) {\n var hash = {};\n\n for (var i = 0; i < arr.length; i++) hash[arr[i]] = true;\n\n return hash;\n}\n\nvar IDENTIFIER = /^[a-z$_][a-z$_0-9]*$/i;\nvar SINGLE_QUOTE = /'|\\\\/g;\n\nfunction getProperty(key) {\n return typeof key == 'number' ? '[' + key + ']' : IDENTIFIER.test(key) ? '.' + key : \"['\" + escapeQuotes(key) + \"']\";\n}\n\nfunction escapeQuotes(str) {\n return str.replace(SINGLE_QUOTE, '\\\\$&').replace(/\\n/g, '\\\\n').replace(/\\r/g, '\\\\r').replace(/\\f/g, '\\\\f').replace(/\\t/g, '\\\\t');\n}\n\nfunction varOccurences(str, dataVar) {\n dataVar += '[^0-9]';\n var matches = str.match(new RegExp(dataVar, 'g'));\n return matches ? matches.length : 0;\n}\n\nfunction varReplace(str, dataVar, expr) {\n dataVar += '([^0-9])';\n expr = expr.replace(/\\$/g, '$$$$');\n return str.replace(new RegExp(dataVar, 'g'), expr + '$1');\n}\n\nfunction schemaHasRules(schema, rules) {\n if (typeof schema == 'boolean') return !schema;\n\n for (var key in schema) if (rules[key]) return true;\n}\n\nfunction schemaHasRulesExcept(schema, rules, exceptKeyword) {\n if (typeof schema == 'boolean') return !schema && exceptKeyword != 'not';\n\n for (var key in schema) if (key != exceptKeyword && rules[key]) return true;\n}\n\nfunction schemaUnknownRules(schema, rules) {\n if (typeof schema == 'boolean') return;\n\n for (var key in schema) if (!rules[key]) return key;\n}\n\nfunction toQuotedString(str) {\n return '\\'' + escapeQuotes(str) + '\\'';\n}\n\nfunction getPathExpr(currentPath, expr, jsonPointers, isNumber) {\n var path = jsonPointers // false by default\n ? '\\'/\\' + ' + expr + (isNumber ? '' : '.replace(/~/g, \\'~0\\').replace(/\\\\//g, \\'~1\\')') : isNumber ? '\\'[\\' + ' + expr + ' + \\']\\'' : '\\'[\\\\\\'\\' + ' + expr + ' + \\'\\\\\\']\\'';\n return joinPaths(currentPath, path);\n}\n\nfunction getPath(currentPath, prop, jsonPointers) {\n var path = jsonPointers // false by default\n ? toQuotedString('/' + escapeJsonPointer(prop)) : toQuotedString(getProperty(prop));\n return joinPaths(currentPath, path);\n}\n\nvar JSON_POINTER = /^\\/(?:[^~]|~0|~1)*$/;\nvar RELATIVE_JSON_POINTER = /^([0-9]+)(#|\\/(?:[^~]|~0|~1)*)?$/;\n\nfunction getData($data, lvl, paths) {\n var up, jsonPointer, data, matches;\n if ($data === '') return 'rootData';\n\n if ($data[0] == '/') {\n if (!JSON_POINTER.test($data)) throw new Error('Invalid JSON-pointer: ' + $data);\n jsonPointer = $data;\n data = 'rootData';\n } else {\n matches = $data.match(RELATIVE_JSON_POINTER);\n if (!matches) throw new Error('Invalid JSON-pointer: ' + $data);\n up = +matches[1];\n jsonPointer = matches[2];\n\n if (jsonPointer == '#') {\n if (up >= lvl) throw new Error('Cannot access property/index ' + up + ' levels up, current level is ' + lvl);\n return paths[lvl - up];\n }\n\n if (up > lvl) throw new Error('Cannot access data ' + up + ' levels up, current level is ' + lvl);\n data = 'data' + (lvl - up || '');\n if (!jsonPointer) return data;\n }\n\n var expr = data;\n var segments = jsonPointer.split('/');\n\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n\n if (segment) {\n data += getProperty(unescapeJsonPointer(segment));\n expr += ' && ' + data;\n }\n }\n\n return expr;\n}\n\nfunction joinPaths(a, b) {\n if (a == '\"\"') return b;\n return (a + ' + ' + b).replace(/([^\\\\])' \\+ '/g, '$1');\n}\n\nfunction unescapeFragment(str) {\n return unescapeJsonPointer(decodeURIComponent(str));\n}\n\nfunction escapeFragment(str) {\n return encodeURIComponent(escapeJsonPointer(str));\n}\n\nfunction escapeJsonPointer(str) {\n return str.replace(/~/g, '~0').replace(/\\//g, '~1');\n}\n\nfunction unescapeJsonPointer(str) {\n return str.replace(/~1/g, '/').replace(/~0/g, '~');\n}","map":{"version":3,"sources":["/Users/tylerkoenig/Code/personal/react-scss2/node_modules/ajv/lib/compile/util.js"],"names":["module","exports","copy","checkDataType","checkDataTypes","coerceToTypes","toHash","getProperty","escapeQuotes","equal","require","ucs2length","varOccurences","varReplace","schemaHasRules","schemaHasRulesExcept","schemaUnknownRules","toQuotedString","getPathExpr","getPath","getData","unescapeFragment","unescapeJsonPointer","escapeFragment","escapeJsonPointer","o","to","key","dataType","data","strictNumbers","negate","EQUAL","AND","OK","NOT","dataTypes","length","code","types","array","object","null","number","integer","t","COERCE_TO_TYPES","optionCoerceTypes","Array","isArray","i","arr","hash","IDENTIFIER","SINGLE_QUOTE","test","str","replace","dataVar","matches","match","RegExp","expr","schema","rules","exceptKeyword","currentPath","jsonPointers","isNumber","path","joinPaths","prop","JSON_POINTER","RELATIVE_JSON_POINTER","$data","lvl","paths","up","jsonPointer","Error","segments","split","segment","a","b","decodeURIComponent","encodeURIComponent"],"mappings":"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","sourcesContent":["'use strict';\n\n\nmodule.exports = {\n copy: copy,\n checkDataType: checkDataType,\n checkDataTypes: checkDataTypes,\n coerceToTypes: coerceToTypes,\n toHash: toHash,\n getProperty: getProperty,\n escapeQuotes: escapeQuotes,\n equal: require('fast-deep-equal'),\n ucs2length: require('./ucs2length'),\n varOccurences: varOccurences,\n varReplace: varReplace,\n schemaHasRules: schemaHasRules,\n schemaHasRulesExcept: schemaHasRulesExcept,\n schemaUnknownRules: schemaUnknownRules,\n toQuotedString: toQuotedString,\n getPathExpr: getPathExpr,\n getPath: getPath,\n getData: getData,\n unescapeFragment: unescapeFragment,\n unescapeJsonPointer: unescapeJsonPointer,\n escapeFragment: escapeFragment,\n escapeJsonPointer: escapeJsonPointer\n};\n\n\nfunction copy(o, to) {\n to = to || {};\n for (var key in o) to[key] = o[key];\n return to;\n}\n\n\nfunction checkDataType(dataType, data, strictNumbers, negate) {\n var EQUAL = negate ? ' !== ' : ' === '\n , AND = negate ? ' || ' : ' && '\n , OK = negate ? '!' : ''\n , NOT = negate ? '' : '!';\n switch (dataType) {\n case 'null': return data + EQUAL + 'null';\n case 'array': return OK + 'Array.isArray(' + data + ')';\n case 'object': return '(' + OK + data + AND +\n 'typeof ' + data + EQUAL + '\"object\"' + AND +\n NOT + 'Array.isArray(' + data + '))';\n case 'integer': return '(typeof ' + data + EQUAL + '\"number\"' + AND +\n NOT + '(' + data + ' % 1)' +\n AND + data + EQUAL + data +\n (strictNumbers ? (AND + OK + 'isFinite(' + data + ')') : '') + ')';\n case 'number': return '(typeof ' + data + EQUAL + '\"' + dataType + '\"' +\n (strictNumbers ? (AND + OK + 'isFinite(' + data + ')') : '') + ')';\n default: return 'typeof ' + data + EQUAL + '\"' + dataType + '\"';\n }\n}\n\n\nfunction checkDataTypes(dataTypes, data, strictNumbers) {\n switch (dataTypes.length) {\n case 1: return checkDataType(dataTypes[0], data, strictNumbers, true);\n default:\n var code = '';\n var types = toHash(dataTypes);\n if (types.array && types.object) {\n code = types.null ? '(': '(!' + data + ' || ';\n code += 'typeof ' + data + ' !== \"object\")';\n delete types.null;\n delete types.array;\n delete types.object;\n }\n if (types.number) delete types.integer;\n for (var t in types)\n code += (code ? ' && ' : '' ) + checkDataType(t, data, strictNumbers, true);\n\n return code;\n }\n}\n\n\nvar COERCE_TO_TYPES = toHash([ 'string', 'number', 'integer', 'boolean', 'null' ]);\nfunction coerceToTypes(optionCoerceTypes, dataTypes) {\n if (Array.isArray(dataTypes)) {\n var types = [];\n for (var i=0; i<dataTypes.length; i++) {\n var t = dataTypes[i];\n if (COERCE_TO_TYPES[t]) types[types.length] = t;\n else if (optionCoerceTypes === 'array' && t === 'array') types[types.length] = t;\n }\n if (types.length) return types;\n } else if (COERCE_TO_TYPES[dataTypes]) {\n return [dataTypes];\n } else if (optionCoerceTypes === 'array' && dataTypes === 'array') {\n return ['array'];\n }\n}\n\n\nfunction toHash(arr) {\n var hash = {};\n for (var i=0; i<arr.length; i++) hash[arr[i]] = true;\n return hash;\n}\n\n\nvar IDENTIFIER = /^[a-z$_][a-z$_0-9]*$/i;\nvar SINGLE_QUOTE = /'|\\\\/g;\nfunction getProperty(key) {\n return typeof key == 'number'\n ? '[' + key + ']'\n : IDENTIFIER.test(key)\n ? '.' + key\n : \"['\" + escapeQuotes(key) + \"']\";\n}\n\n\nfunction escapeQuotes(str) {\n return str.replace(SINGLE_QUOTE, '\\\\$&')\n .replace(/\\n/g, '\\\\n')\n .replace(/\\r/g, '\\\\r')\n .replace(/\\f/g, '\\\\f')\n .replace(/\\t/g, '\\\\t');\n}\n\n\nfunction varOccurences(str, dataVar) {\n dataVar += '[^0-9]';\n var matches = str.match(new RegExp(dataVar, 'g'));\n return matches ? matches.length : 0;\n}\n\n\nfunction varReplace(str, dataVar, expr) {\n dataVar += '([^0-9])';\n expr = expr.replace(/\\$/g, '$$$$');\n return str.replace(new RegExp(dataVar, 'g'), expr + '$1');\n}\n\n\nfunction schemaHasRules(schema, rules) {\n if (typeof schema == 'boolean') return !schema;\n for (var key in schema) if (rules[key]) return true;\n}\n\n\nfunction schemaHasRulesExcept(schema, rules, exceptKeyword) {\n if (typeof schema == 'boolean') return !schema && exceptKeyword != 'not';\n for (var key in schema) if (key != exceptKeyword && rules[key]) return true;\n}\n\n\nfunction schemaUnknownRules(schema, rules) {\n if (typeof schema == 'boolean') return;\n for (var key in schema) if (!rules[key]) return key;\n}\n\n\nfunction toQuotedString(str) {\n return '\\'' + escapeQuotes(str) + '\\'';\n}\n\n\nfunction getPathExpr(currentPath, expr, jsonPointers, isNumber) {\n var path = jsonPointers // false by default\n ? '\\'/\\' + ' + expr + (isNumber ? '' : '.replace(/~/g, \\'~0\\').replace(/\\\\//g, \\'~1\\')')\n : (isNumber ? '\\'[\\' + ' + expr + ' + \\']\\'' : '\\'[\\\\\\'\\' + ' + expr + ' + \\'\\\\\\']\\'');\n return joinPaths(currentPath, path);\n}\n\n\nfunction getPath(currentPath, prop, jsonPointers) {\n var path = jsonPointers // false by default\n ? toQuotedString('/' + escapeJsonPointer(prop))\n : toQuotedString(getProperty(prop));\n return joinPaths(currentPath, path);\n}\n\n\nvar JSON_POINTER = /^\\/(?:[^~]|~0|~1)*$/;\nvar RELATIVE_JSON_POINTER = /^([0-9]+)(#|\\/(?:[^~]|~0|~1)*)?$/;\nfunction getData($data, lvl, paths) {\n var up, jsonPointer, data, matches;\n if ($data === '') return 'rootData';\n if ($data[0] == '/') {\n if (!JSON_POINTER.test($data)) throw new Error('Invalid JSON-pointer: ' + $data);\n jsonPointer = $data;\n data = 'rootData';\n } else {\n matches = $data.match(RELATIVE_JSON_POINTER);\n if (!matches) throw new Error('Invalid JSON-pointer: ' + $data);\n up = +matches[1];\n jsonPointer = matches[2];\n if (jsonPointer == '#') {\n if (up >= lvl) throw new Error('Cannot access property/index ' + up + ' levels up, current level is ' + lvl);\n return paths[lvl - up];\n }\n\n if (up > lvl) throw new Error('Cannot access data ' + up + ' levels up, current level is ' + lvl);\n data = 'data' + ((lvl - up) || '');\n if (!jsonPointer) return data;\n }\n\n var expr = data;\n var segments = jsonPointer.split('/');\n for (var i=0; i<segments.length; i++) {\n var segment = segments[i];\n if (segment) {\n data += getProperty(unescapeJsonPointer(segment));\n expr += ' && ' + data;\n }\n }\n return expr;\n}\n\n\nfunction joinPaths (a, b) {\n if (a == '\"\"') return b;\n return (a + ' + ' + b).replace(/([^\\\\])' \\+ '/g, '$1');\n}\n\n\nfunction unescapeFragment(str) {\n return unescapeJsonPointer(decodeURIComponent(str));\n}\n\n\nfunction escapeFragment(str) {\n return encodeURIComponent(escapeJsonPointer(str));\n}\n\n\nfunction escapeJsonPointer(str) {\n return str.replace(/~/g, '~0').replace(/\\//g, '~1');\n}\n\n\nfunction unescapeJsonPointer(str) {\n return str.replace(/~1/g, '/').replace(/~0/g, '~');\n}\n"]},"metadata":{},"sourceType":"script"}