1 line
8.7 KiB
JSON
1 line
8.7 KiB
JSON
{"ast":null,"code":"'use strict';\n\nmodule.exports = function generate_pattern(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n\n if ($isData) {\n out += ' var schema' + $lvl + ' = ' + it.util.getData($schema.$data, $dataLvl, it.dataPathArr) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n\n var $regexp = $isData ? '(new RegExp(' + $schemaValue + '))' : it.usePattern($schema);\n out += 'if ( ';\n\n if ($isData) {\n out += ' (' + $schemaValue + ' !== undefined && typeof ' + $schemaValue + ' != \\'string\\') || ';\n }\n\n out += ' !' + $regexp + '.test(' + $data + ') ) { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = '';\n /* istanbul ignore else */\n\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + 'pattern' + '\\' , dataPath: (dataPath || \\'\\') + ' + it.errorPath + ' , schemaPath: ' + it.util.toQuotedString($errSchemaPath) + ' , params: { pattern: ';\n\n if ($isData) {\n out += '' + $schemaValue;\n } else {\n out += '' + it.util.toQuotedString($schema);\n }\n\n out += ' } ';\n\n if (it.opts.messages !== false) {\n out += ' , message: \\'should match pattern \"';\n\n if ($isData) {\n out += '\\' + ' + $schemaValue + ' + \\'';\n } else {\n out += '' + it.util.escapeQuotes($schema);\n }\n\n out += '\"\\' ';\n }\n\n if (it.opts.verbose) {\n out += ' , schema: ';\n\n if ($isData) {\n out += 'validate.schema' + $schemaPath;\n } else {\n out += '' + it.util.toQuotedString($schema);\n }\n\n out += ' , parentSchema: validate.schema' + it.schemaPath + ' , data: ' + $data + ' ';\n }\n\n out += ' } ';\n } else {\n out += ' {} ';\n }\n\n var __err = out;\n out = $$outStack.pop();\n\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + __err + ']); ';\n } else {\n out += ' validate.errors = [' + __err + ']; return false; ';\n }\n } else {\n out += ' var err = ' + __err + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n\n out += '} ';\n\n if ($breakOnError) {\n out += ' else { ';\n }\n\n return out;\n};","map":{"version":3,"sources":["/Users/tylerkoenig/Code/personal/react-scss2/node_modules/ajv/lib/dotjs/pattern.js"],"names":["module","exports","generate_pattern","it","$keyword","$ruleType","out","$lvl","level","$dataLvl","dataLevel","$schema","schema","$schemaPath","schemaPath","util","getProperty","$errSchemaPath","errSchemaPath","$breakOnError","opts","allErrors","$data","$isData","$schemaValue","getData","dataPathArr","$regexp","usePattern","$$outStack","push","createErrors","errorPath","toQuotedString","messages","escapeQuotes","verbose","__err","pop","compositeRule","async"],"mappings":"AAAA;;AACAA,MAAM,CAACC,OAAP,GAAiB,SAASC,gBAAT,CAA0BC,EAA1B,EAA8BC,QAA9B,EAAwCC,SAAxC,EAAmD;AAClE,MAAIC,GAAG,GAAG,GAAV;AACA,MAAIC,IAAI,GAAGJ,EAAE,CAACK,KAAd;AACA,MAAIC,QAAQ,GAAGN,EAAE,CAACO,SAAlB;AACA,MAAIC,OAAO,GAAGR,EAAE,CAACS,MAAH,CAAUR,QAAV,CAAd;AACA,MAAIS,WAAW,GAAGV,EAAE,CAACW,UAAH,GAAgBX,EAAE,CAACY,IAAH,CAAQC,WAAR,CAAoBZ,QAApB,CAAlC;AACA,MAAIa,cAAc,GAAGd,EAAE,CAACe,aAAH,GAAmB,GAAnB,GAAyBd,QAA9C;AACA,MAAIe,aAAa,GAAG,CAAChB,EAAE,CAACiB,IAAH,CAAQC,SAA7B;AACA,MAAIC,KAAK,GAAG,UAAUb,QAAQ,IAAI,EAAtB,CAAZ;AACA,MAAIc,OAAO,GAAGpB,EAAE,CAACiB,IAAH,CAAQE,KAAR,IAAiBX,OAAjB,IAA4BA,OAAO,CAACW,KAAlD;AAAA,MACEE,YADF;;AAEA,MAAID,OAAJ,EAAa;AACXjB,IAAAA,GAAG,IAAI,gBAAiBC,IAAjB,GAAyB,KAAzB,GAAkCJ,EAAE,CAACY,IAAH,CAAQU,OAAR,CAAgBd,OAAO,CAACW,KAAxB,EAA+Bb,QAA/B,EAAyCN,EAAE,CAACuB,WAA5C,CAAlC,GAA8F,IAArG;AACAF,IAAAA,YAAY,GAAG,WAAWjB,IAA1B;AACD,GAHD,MAGO;AACLiB,IAAAA,YAAY,GAAGb,OAAf;AACD;;AACD,MAAIgB,OAAO,GAAGJ,OAAO,GAAG,iBAAiBC,YAAjB,GAAgC,IAAnC,GAA0CrB,EAAE,CAACyB,UAAH,CAAcjB,OAAd,CAA/D;AACAL,EAAAA,GAAG,IAAI,OAAP;;AACA,MAAIiB,OAAJ,EAAa;AACXjB,IAAAA,GAAG,IAAI,OAAQkB,YAAR,GAAwB,2BAAxB,GAAuDA,YAAvD,GAAuE,qBAA9E;AACD;;AACDlB,EAAAA,GAAG,IAAI,OAAQqB,OAAR,GAAmB,QAAnB,GAA+BL,KAA/B,GAAwC,UAA/C;AACA,MAAIO,UAAU,GAAGA,UAAU,IAAI,EAA/B;AACAA,EAAAA,UAAU,CAACC,IAAX,CAAgBxB,GAAhB;AACAA,EAAAA,GAAG,GAAG,EAAN;AAAU;;AACV,MAAIH,EAAE,CAAC4B,YAAH,KAAoB,KAAxB,EAA+B;AAC7BzB,IAAAA,GAAG,IAAI,mBAAoB,SAApB,GAAiC,sCAAjC,GAA2EH,EAAE,CAAC6B,SAA9E,GAA2F,iBAA3F,GAAgH7B,EAAE,CAACY,IAAH,CAAQkB,cAAR,CAAuBhB,cAAvB,CAAhH,GAA0J,yBAAjK;;AACA,QAAIM,OAAJ,EAAa;AACXjB,MAAAA,GAAG,IAAI,KAAMkB,YAAb;AACD,KAFD,MAEO;AACLlB,MAAAA,GAAG,IAAI,KAAMH,EAAE,CAACY,IAAH,CAAQkB,cAAR,CAAuBtB,OAAvB,CAAb;AACD;;AACDL,IAAAA,GAAG,IAAI,MAAP;;AACA,QAAIH,EAAE,CAACiB,IAAH,CAAQc,QAAR,KAAqB,KAAzB,EAAgC;AAC9B5B,MAAAA,GAAG,IAAI,sCAAP;;AACA,UAAIiB,OAAJ,EAAa;AACXjB,QAAAA,GAAG,IAAI,UAAWkB,YAAX,GAA2B,OAAlC;AACD,OAFD,MAEO;AACLlB,QAAAA,GAAG,IAAI,KAAMH,EAAE,CAACY,IAAH,CAAQoB,YAAR,CAAqBxB,OAArB,CAAb;AACD;;AACDL,MAAAA,GAAG,IAAI,MAAP;AACD;;AACD,QAAIH,EAAE,CAACiB,IAAH,CAAQgB,OAAZ,EAAqB;AACnB9B,MAAAA,GAAG,IAAI,cAAP;;AACA,UAAIiB,OAAJ,EAAa;AACXjB,QAAAA,GAAG,IAAI,oBAAqBO,WAA5B;AACD,OAFD,MAEO;AACLP,QAAAA,GAAG,IAAI,KAAMH,EAAE,CAACY,IAAH,CAAQkB,cAAR,CAAuBtB,OAAvB,CAAb;AACD;;AACDL,MAAAA,GAAG,IAAI,6CAA8CH,EAAE,CAACW,UAAjD,GAA+D,WAA/D,GAA8EQ,KAA9E,GAAuF,GAA9F;AACD;;AACDhB,IAAAA,GAAG,IAAI,KAAP;AACD,GA3BD,MA2BO;AACLA,IAAAA,GAAG,IAAI,MAAP;AACD;;AACD,MAAI+B,KAAK,GAAG/B,GAAZ;AACAA,EAAAA,GAAG,GAAGuB,UAAU,CAACS,GAAX,EAAN;;AACA,MAAI,CAACnC,EAAE,CAACoC,aAAJ,IAAqBpB,aAAzB,EAAwC;AACtC;AACA,QAAIhB,EAAE,CAACqC,KAAP,EAAc;AACZlC,MAAAA,GAAG,IAAI,iCAAkC+B,KAAlC,GAA2C,MAAlD;AACD,KAFD,MAEO;AACL/B,MAAAA,GAAG,IAAI,yBAA0B+B,KAA1B,GAAmC,mBAA1C;AACD;AACF,GAPD,MAOO;AACL/B,IAAAA,GAAG,IAAI,gBAAiB+B,KAAjB,GAA0B,8EAAjC;AACD;;AACD/B,EAAAA,GAAG,IAAI,IAAP;;AACA,MAAIa,aAAJ,EAAmB;AACjBb,IAAAA,GAAG,IAAI,UAAP;AACD;;AACD,SAAOA,GAAP;AACD,CAzED","sourcesContent":["'use strict';\nmodule.exports = function generate_pattern(it, $keyword, $ruleType) {\n var out = ' ';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $data = 'data' + ($dataLvl || '');\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n if ($isData) {\n out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n var $regexp = $isData ? '(new RegExp(' + $schemaValue + '))' : it.usePattern($schema);\n out += 'if ( ';\n if ($isData) {\n out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'string\\') || ';\n }\n out += ' !' + ($regexp) + '.test(' + ($data) + ') ) { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('pattern') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { pattern: ';\n if ($isData) {\n out += '' + ($schemaValue);\n } else {\n out += '' + (it.util.toQuotedString($schema));\n }\n out += ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should match pattern \"';\n if ($isData) {\n out += '\\' + ' + ($schemaValue) + ' + \\'';\n } else {\n out += '' + (it.util.escapeQuotes($schema));\n }\n out += '\"\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: ';\n if ($isData) {\n out += 'validate.schema' + ($schemaPath);\n } else {\n out += '' + (it.util.toQuotedString($schema));\n }\n out += ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += '} ';\n if ($breakOnError) {\n out += ' else { ';\n }\n return out;\n}\n"]},"metadata":{},"sourceType":"script"} |