| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 | {{# def.definitions }}{{# def.errors }}{{# def.setupKeyword }}{{## def.skipFormat:  {{? $breakOnError }} if (true) { {{?}}  {{ return out; }}#}}{{? it.opts.format === false }}{{# def.skipFormat }}{{?}}{{# def.$data }}{{## def.$dataCheckFormat:  {{# def.$dataNotType:'string' }}  ({{? $unknownFormats != 'ignore' }}     ({{=$schemaValue}} && !{{=$format}}      {{? $allowUnknown }}        && self._opts.unknownFormats.indexOf({{=$schemaValue}}) == -1      {{?}}) ||   {{?}}   ({{=$format}} && {{=$formatType}} == '{{=$ruleType}}'                 && !(typeof {{=$format}} == 'function'                     ? {{? it.async}}                        (async{{=$lvl}} ? await {{=$format}}({{=$data}}) : {{=$format}}({{=$data}}))                       {{??}}                        {{=$format}}({{=$data}})                       {{?}}                     : {{=$format}}.test({{=$data}}))))#}}{{## def.checkFormat:  {{    var $formatRef = 'formats' + it.util.getProperty($schema);    if ($isObject) $formatRef += '.validate';  }}  {{? typeof $format == 'function' }}    {{=$formatRef}}({{=$data}})  {{??}}    {{=$formatRef}}.test({{=$data}})  {{?}}#}}{{  var $unknownFormats = it.opts.unknownFormats    , $allowUnknown = Array.isArray($unknownFormats);}}{{? $isData }}  {{    var $format = 'format' + $lvl      , $isObject = 'isObject' + $lvl      , $formatType = 'formatType' + $lvl;  }}  var {{=$format}} = formats[{{=$schemaValue}}];  var {{=$isObject}} = typeof {{=$format}} == 'object'                        && !({{=$format}} instanceof RegExp)                        && {{=$format}}.validate;  var {{=$formatType}} = {{=$isObject}} && {{=$format}}.type || 'string';  if ({{=$isObject}}) {    {{? it.async}}      var async{{=$lvl}} = {{=$format}}.async;    {{?}}    {{=$format}} = {{=$format}}.validate;  }  if ({{# def.$dataCheckFormat }}) {{{??}}  {{ var $format = it.formats[$schema]; }}  {{? !$format }}    {{? $unknownFormats == 'ignore' }}      {{ it.logger.warn('unknown format "' + $schema + '" ignored in schema at path "' + it.errSchemaPath + '"'); }}      {{# def.skipFormat }}    {{?? $allowUnknown && $unknownFormats.indexOf($schema) >= 0 }}      {{# def.skipFormat }}    {{??}}      {{ throw new Error('unknown format "' + $schema + '" is used in schema at path "' + it.errSchemaPath + '"'); }}    {{?}}  {{?}}  {{    var $isObject = typeof $format == 'object'                    && !($format instanceof RegExp)                    && $format.validate;    var $formatType = $isObject && $format.type || 'string';    if ($isObject) {      var $async = $format.async === true;      $format = $format.validate;    }  }}  {{? $formatType != $ruleType }}    {{# def.skipFormat }}  {{?}}  {{? $async }}    {{      if (!it.async) throw new Error('async format in sync schema');      var $formatRef = 'formats' + it.util.getProperty($schema) + '.validate';    }}    if (!(await {{=$formatRef}}({{=$data}}))) {  {{??}}    if (!{{# def.checkFormat }}) {  {{?}}{{?}}    {{# def.error:'format' }}  } {{? $breakOnError }} else { {{?}}
 |