BVB Source Codes

reactide Show _limit.js Source code

Return Download reactide: download _limit.js Source code - Download reactide Source code - Type:.js
  1. 'use strict';
  2. module.exports = function generate__limit(it, $keyword) {
  3.   var out = ' ';
  4.   var $lvl = it.level;
  5.   var $dataLvl = it.dataLevel;
  6.   var $schema = it.schema[$keyword];
  7.   var $schemaPath = it.schemaPath + it.util.getProperty($keyword);
  8.   var $errSchemaPath = it.errSchemaPath + '/' + $keyword;
  9.   var $breakOnError = !it.opts.allErrors;
  10.   var $errorKeyword;
  11.   var $data = 'data' + ($dataLvl || '');
  12.   var $isData = it.opts.v5 && $schema && $schema.$data,
  13.     $schemaValue;
  14.   if ($isData) {
  15.     out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';
  16.     $schemaValue = 'schema' + $lvl;
  17.   } else {
  18.     $schemaValue = $schema;
  19.   }
  20.   var $isMax = $keyword == 'maximum',
  21.     $exclusiveKeyword = $isMax ? 'exclusiveMaximum' : 'exclusiveMinimum',
  22.     $schemaExcl = it.schema[$exclusiveKeyword],
  23.     $isDataExcl = it.opts.v5 && $schemaExcl && $schemaExcl.$data,
  24.     $op = $isMax ? '<' : '>',
  25.     $notOp = $isMax ? '>' : '<';
  26.   if ($isDataExcl) {
  27.     var $schemaValueExcl = it.util.getData($schemaExcl.$data, $dataLvl, it.dataPathArr),
  28.       $exclusive = 'exclusive' + $lvl,
  29.       $opExpr = 'op' + $lvl,
  30.       $opStr = '\' + ' + $opExpr + ' + \'';
  31.     out += ' var schemaExcl' + ($lvl) + ' = ' + ($schemaValueExcl) + '; ';
  32.     $schemaValueExcl = 'schemaExcl' + $lvl;
  33.     out += ' var exclusive' + ($lvl) + '; if (typeof ' + ($schemaValueExcl) + ' != \'boolean\' && typeof ' + ($schemaValueExcl) + ' != \'undefined\') { ';
  34.     var $errorKeyword = $exclusiveKeyword;
  35.     var $$outStack = $$outStack || [];
  36.     $$outStack.push(out);
  37.     out = ''; /* istanbul ignore else */
  38.     if (it.createErrors !== false) {
  39.       out += ' { keyword: \'' + ($errorKeyword || '_exclusiveLimit') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} ';
  40.       if (it.opts.messages !== false) {
  41.         out += ' , message: \'' + ($exclusiveKeyword) + ' should be boolean\' ';
  42.       }
  43.       if (it.opts.verbose) {
  44.         out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';
  45.       }
  46.       out += ' } ';
  47.     } else {
  48.       out += ' {} ';
  49.     }
  50.     var __err = out;
  51.     out = $$outStack.pop();
  52.     if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
  53.       if (it.async) {
  54.         out += ' throw new ValidationError([' + (__err) + ']); ';
  55.       } else {
  56.         out += ' validate.errors = [' + (__err) + ']; return false; ';
  57.       }
  58.     } else {
  59.       out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';
  60.     }
  61.     out += ' } else if( ';
  62.     if ($isData) {
  63.       out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || ';
  64.     }
  65.     out += ' ((exclusive' + ($lvl) + ' = ' + ($schemaValueExcl) + ' === true) ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaValue) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ') || ' + ($data) + ' !== ' + ($data) + ') { var op' + ($lvl) + ' = exclusive' + ($lvl) + ' ? \'' + ($op) + '\' : \'' + ($op) + '=\';';
  66.   } else {
  67.     var $exclusive = $schemaExcl === true,
  68.       $opStr = $op;
  69.     if (!$exclusive) $opStr += '=';
  70.     var $opExpr = '\'' + $opStr + '\'';
  71.     out += ' if ( ';
  72.     if ($isData) {
  73.       out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \'number\') || ';
  74.     }
  75.     out += ' ' + ($data) + ' ' + ($notOp);
  76.     if ($exclusive) {
  77.       out += '=';
  78.     }
  79.     out += ' ' + ($schemaValue) + ' || ' + ($data) + ' !== ' + ($data) + ') {';
  80.   }
  81.   var $errorKeyword = $keyword;
  82.   var $$outStack = $$outStack || [];
  83.   $$outStack.push(out);
  84.   out = ''; /* istanbul ignore else */
  85.   if (it.createErrors !== false) {
  86.     out += ' { keyword: \'' + ($errorKeyword || '_limit') + '\' , dataPath: (dataPath || \'\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { comparison: ' + ($opExpr) + ', limit: ' + ($schemaValue) + ', exclusive: ' + ($exclusive) + ' } ';
  87.     if (it.opts.messages !== false) {
  88.       out += ' , message: \'should be ' + ($opStr) + ' ';
  89.       if ($isData) {
  90.         out += '\' + ' + ($schemaValue);
  91.       } else {
  92.         out += '' + ($schema) + '\'';
  93.       }
  94.     }
  95.     if (it.opts.verbose) {
  96.       out += ' , schema:  ';
  97.       if ($isData) {
  98.         out += 'validate.schema' + ($schemaPath);
  99.       } else {
  100.         out += '' + ($schema);
  101.       }
  102.       out += '         , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';
  103.     }
  104.     out += ' } ';
  105.   } else {
  106.     out += ' {} ';
  107.   }
  108.   var __err = out;
  109.   out = $$outStack.pop();
  110.   if (!it.compositeRule && $breakOnError) { /* istanbul ignore if */
  111.     if (it.async) {
  112.       out += ' throw new ValidationError([' + (__err) + ']); ';
  113.     } else {
  114.       out += ' validate.errors = [' + (__err) + ']; return false; ';
  115.     }
  116.   } else {
  117.     out += ' var err = ' + (__err) + ';  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';
  118.   }
  119.   out += ' } ';
  120.   if ($breakOnError) {
  121.     out += ' else { ';
  122.   }
  123.   return out;
  124. }
  125.  
download_limit.js Source code - Download reactide Source code
Related Source Codes/Software:
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
postal - 2017-06-11
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top