An error occurred while loading the file. Please try again.
definitions.def 3.93 KiB
{{## def.setupKeyword:
  {{
    var $lvl = it.level;
    var $dataLvl = it.dataLevel;
    var $schema = it.schema[$keyword];
    var $schemaPath = it.schemaPath + it.util.getProperty($keyword);
    var $errSchemaPath = it.errSchemaPath + '/' + $keyword;
    var $breakOnError = !it.opts.allErrors;
    var $errorKeyword;
    var $data = 'data' + ($dataLvl || '');
    var $valid = 'valid' + $lvl;
    var $errs = 'errs__' + $lvl;
#}}
{{## def.setCompositeRule:
    var $wasComposite = it.compositeRule;
    it.compositeRule = $it.compositeRule = true;
#}}
{{## def.resetCompositeRule:
  {{ it.compositeRule = $it.compositeRule = $wasComposite; }}
#}}
{{## def.setupNextLevel:
    var $it = it.util.copy(it);
    var $closingBraces = '';
    $it.level++;
    var $nextValid = 'valid' + $it.level;
#}}
{{## def.ifValid:
  {{? $breakOnError }}
    if ({{=$valid}}) {
    {{ $closingBraces += '}'; }}
  {{?}}
#}}
{{## def.ifResultValid:
  {{? $breakOnError }}
    if ({{=$nextValid}}) {
    {{ $closingBraces += '}'; }}
  {{?}}
#}}
{{## def.elseIfValid:
  {{? $breakOnError }}
    {{ $closingBraces += '}'; }}
    else {
  {{?}}
#}}
{{## def.nonEmptySchema:_schema:
  (it.opts.strictKeywords
    ? (typeof _schema == 'object' && Object.keys(_schema).length > 0)
      || _schema === false
    : it.util.schemaHasRules(_schema, it.RULES.all))
#}}
{{## def.strLength: {{? it.opts.unicode === false }} {{=$data}}.length {{??}} ucs2length({{=$data}}) {{?}} #}} {{## def.willOptimize: it.util.varOccurences($code, $nextData) < 2 #}} {{## def.generateSubschemaCode: {{ var $code = it.validate($it); $it.baseId = $currentBaseId; }} #}} {{## def.insertSubschemaCode: {{= it.validate($it) }} {{ $it.baseId = $currentBaseId; }} #}} {{## def._optimizeValidate: it.util.varReplace($code, $nextData, $passData) #}} {{## def.optimizeValidate: {{? {{# def.willOptimize}} }} {{= {{# def._optimizeValidate }} }} {{??}} var {{=$nextData}} = {{=$passData}}; {{= $code }} {{?}} #}} {{## def.$data: {{ var $isData = it.opts.$data && $schema && $schema.$data , $schemaValue; }} {{? $isData }} var schema{{=$lvl}} = {{= it.util.getData($schema.$data, $dataLvl, it.dataPathArr) }}; {{ $schemaValue = 'schema' + $lvl; }} {{??}} {{ $schemaValue = $schema; }} {{?}} #}} {{## def.$dataNotType:_type: {{?$isData}} ({{=$schemaValue}} !== undefined && typeof {{=$schemaValue}} != _type) || {{?}} #}} {{## def.check$dataIsArray: if (schema{{=$lvl}} === undefined) {{=$valid}} = true; else if (!Array.isArray(schema{{=$lvl}})) {{=$valid}} = false; else { #}}
{{## def.numberKeyword: {{? !($isData || typeof $schema == 'number') }} {{ throw new Error($keyword + ' must be number'); }} {{?}} #}} {{## def.beginDefOut: {{ var $$outStack = $$outStack || []; $$outStack.push(out); out = ''; }} #}} {{## def.storeDefOut:_variable: {{ var _variable = out; out = $$outStack.pop(); }} #}} {{## def.dataPath:(dataPath || ''){{? it.errorPath != '""'}} + {{= it.errorPath }}{{?}}#}} {{## def.setParentData: {{ var $parentData = $dataLvl ? 'data' + (($dataLvl-1)||'') : 'parentData' , $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty'; }} #}} {{## def.passParentData: {{# def.setParentData }} , {{= $parentData }} , {{= $parentDataProperty }} #}} {{## def.iterateProperties: {{? $ownProperties }} {{=$dataProperties}} = {{=$dataProperties}} || Object.keys({{=$data}}); for (var {{=$idx}}=0; {{=$idx}}<{{=$dataProperties}}.length; {{=$idx}}++) { var {{=$key}} = {{=$dataProperties}}[{{=$idx}}]; {{??}} for (var {{=$key}} in {{=$data}}) { {{?}} #}} {{## def.noPropertyInData: {{=$useData}} === undefined {{? $ownProperties }} || !{{# def.isOwnProperty }} {{?}} #}} {{## def.isOwnProperty: Object.prototype.hasOwnProperty.call({{=$data}}, '{{=it.util.escapeQuotes($propertyKey)}}') #}}