{"ast":null,"code":"'use strict';\n\nmodule.exports = function generate__limit(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 $errorKeyword;\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 $isMax = $keyword == 'maximum',\n $exclusiveKeyword = $isMax ? 'exclusiveMaximum' : 'exclusiveMinimum',\n $schemaExcl = it.schema[$exclusiveKeyword],\n $isDataExcl = it.opts.$data && $schemaExcl && $schemaExcl.$data,\n $op = $isMax ? '<' : '>',\n $notOp = $isMax ? '>' : '<',\n $errorKeyword = undefined;\n\n if (!($isData || typeof $schema == 'number' || $schema === undefined)) {\n throw new Error($keyword + ' must be number');\n }\n\n if (!($isDataExcl || $schemaExcl === undefined || typeof $schemaExcl == 'number' || typeof $schemaExcl == 'boolean')) {\n throw new Error($exclusiveKeyword + ' must be number or boolean');\n }\n\n if ($isDataExcl) {\n var $schemaValueExcl = it.util.getData($schemaExcl.$data, $dataLvl, it.dataPathArr),\n $exclusive = 'exclusive' + $lvl,\n $exclType = 'exclType' + $lvl,\n $exclIsNumber = 'exclIsNumber' + $lvl,\n $opExpr = 'op' + $lvl,\n $opStr = '\\' + ' + $opExpr + ' + \\'';\n out += ' var schemaExcl' + $lvl + ' = ' + $schemaValueExcl + '; ';\n $schemaValueExcl = 'schemaExcl' + $lvl;\n out += ' var ' + $exclusive + '; var ' + $exclType + ' = typeof ' + $schemaValueExcl + '; if (' + $exclType + ' != \\'boolean\\' && ' + $exclType + ' != \\'undefined\\' && ' + $exclType + ' != \\'number\\') { ';\n var $errorKeyword = $exclusiveKeyword;\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = '';\n /* istanbul ignore else */\n\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || '_exclusiveLimit') + '\\' , dataPath: (dataPath || \\'\\') + ' + it.errorPath + ' , schemaPath: ' + it.util.toQuotedString($errSchemaPath) + ' , params: {} ';\n\n if (it.opts.messages !== false) {\n out += ' , message: \\'' + $exclusiveKeyword + ' should be boolean\\' ';\n }\n\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + $schemaPath + ' , 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 += ' } else if ( ';\n\n if ($isData) {\n out += ' (' + $schemaValue + ' !== undefined && typeof ' + $schemaValue + ' != \\'number\\') || ';\n }\n\n out += ' ' + $exclType + ' == \\'number\\' ? ( (' + $exclusive + ' = ' + $schemaValue + ' === undefined || ' + $schemaValueExcl + ' ' + $op + '= ' + $schemaValue + ') ? ' + $data + ' ' + $notOp + '= ' + $schemaValueExcl + ' : ' + $data + ' ' + $notOp + ' ' + $schemaValue + ' ) : ( (' + $exclusive + ' = ' + $schemaValueExcl + ' === true) ? ' + $data + ' ' + $notOp + '= ' + $schemaValue + ' : ' + $data + ' ' + $notOp + ' ' + $schemaValue + ' ) || ' + $data + ' !== ' + $data + ') { var op' + $lvl + ' = ' + $exclusive + ' ? \\'' + $op + '\\' : \\'' + $op + '=\\'; ';\n\n if ($schema === undefined) {\n $errorKeyword = $exclusiveKeyword;\n $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword;\n $schemaValue = $schemaValueExcl;\n $isData = $isDataExcl;\n }\n } else {\n var $exclIsNumber = typeof $schemaExcl == 'number',\n $opStr = $op;\n\n if ($exclIsNumber && $isData) {\n var $opExpr = '\\'' + $opStr + '\\'';\n out += ' if ( ';\n\n if ($isData) {\n out += ' (' + $schemaValue + ' !== undefined && typeof ' + $schemaValue + ' != \\'number\\') || ';\n }\n\n out += ' ( ' + $schemaValue + ' === undefined || ' + $schemaExcl + ' ' + $op + '= ' + $schemaValue + ' ? ' + $data + ' ' + $notOp + '= ' + $schemaExcl + ' : ' + $data + ' ' + $notOp + ' ' + $schemaValue + ' ) || ' + $data + ' !== ' + $data + ') { ';\n } else {\n if ($exclIsNumber && $schema === undefined) {\n $exclusive = true;\n $errorKeyword = $exclusiveKeyword;\n $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword;\n $schemaValue = $schemaExcl;\n $notOp += '=';\n } else {\n if ($exclIsNumber) $schemaValue = Math[$isMax ? 'min' : 'max']($schemaExcl, $schema);\n\n if ($schemaExcl === ($exclIsNumber ? $schemaValue : true)) {\n $exclusive = true;\n $errorKeyword = $exclusiveKeyword;\n $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword;\n $notOp += '=';\n } else {\n $exclusive = false;\n $opStr += '=';\n }\n }\n\n var $opExpr = '\\'' + $opStr + '\\'';\n out += ' if ( ';\n\n if ($isData) {\n out += ' (' + $schemaValue + ' !== undefined && typeof ' + $schemaValue + ' != \\'number\\') || ';\n }\n\n out += ' ' + $data + ' ' + $notOp + ' ' + $schemaValue + ' || ' + $data + ' !== ' + $data + ') { ';\n }\n }\n\n $errorKeyword = $errorKeyword || $keyword;\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = '';\n /* istanbul ignore else */\n\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || '_limit') + '\\' , dataPath: (dataPath || \\'\\') + ' + it.errorPath + ' , schemaPath: ' + it.util.toQuotedString($errSchemaPath) + ' , params: { comparison: ' + $opExpr + ', limit: ' + $schemaValue + ', exclusive: ' + $exclusive + ' } ';\n\n if (it.opts.messages !== false) {\n out += ' , message: \\'should be ' + $opStr + ' ';\n\n if ($isData) {\n out += '\\' + ' + $schemaValue;\n } else {\n out += '' + $schemaValue + '\\'';\n }\n }\n\n if (it.opts.verbose) {\n out += ' , schema: ';\n\n if ($isData) {\n out += 'validate.schema' + $schemaPath;\n } else {\n out += '' + $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/_limit.js"],"names":["module","exports","generate__limit","it","$keyword","$ruleType","out","$lvl","level","$dataLvl","dataLevel","$schema","schema","$schemaPath","schemaPath","util","getProperty","$errSchemaPath","errSchemaPath","$breakOnError","opts","allErrors","$errorKeyword","$data","$isData","$schemaValue","getData","dataPathArr","$isMax","$exclusiveKeyword","$schemaExcl","$isDataExcl","$op","$notOp","undefined","Error","$schemaValueExcl","$exclusive","$exclType","$exclIsNumber","$opExpr","$opStr","$$outStack","push","createErrors","errorPath","toQuotedString","messages","verbose","__err","pop","compositeRule","async","Math"],"mappings":"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","sourcesContent":["'use strict';\nmodule.exports = function generate__limit(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 $errorKeyword;\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 $isMax = $keyword == 'maximum',\n $exclusiveKeyword = $isMax ? 'exclusiveMaximum' : 'exclusiveMinimum',\n $schemaExcl = it.schema[$exclusiveKeyword],\n $isDataExcl = it.opts.$data && $schemaExcl && $schemaExcl.$data,\n $op = $isMax ? '<' : '>',\n $notOp = $isMax ? '>' : '<',\n $errorKeyword = undefined;\n if (!($isData || typeof $schema == 'number' || $schema === undefined)) {\n throw new Error($keyword + ' must be number');\n }\n if (!($isDataExcl || $schemaExcl === undefined || typeof $schemaExcl == 'number' || typeof $schemaExcl == 'boolean')) {\n throw new Error($exclusiveKeyword + ' must be number or boolean');\n }\n if ($isDataExcl) {\n var $schemaValueExcl = it.util.getData($schemaExcl.$data, $dataLvl, it.dataPathArr),\n $exclusive = 'exclusive' + $lvl,\n $exclType = 'exclType' + $lvl,\n $exclIsNumber = 'exclIsNumber' + $lvl,\n $opExpr = 'op' + $lvl,\n $opStr = '\\' + ' + $opExpr + ' + \\'';\n out += ' var schemaExcl' + ($lvl) + ' = ' + ($schemaValueExcl) + '; ';\n $schemaValueExcl = 'schemaExcl' + $lvl;\n out += ' var ' + ($exclusive) + '; var ' + ($exclType) + ' = typeof ' + ($schemaValueExcl) + '; if (' + ($exclType) + ' != \\'boolean\\' && ' + ($exclType) + ' != \\'undefined\\' && ' + ($exclType) + ' != \\'number\\') { ';\n var $errorKeyword = $exclusiveKeyword;\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || '_exclusiveLimit') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'' + ($exclusiveKeyword) + ' should be boolean\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , 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 += ' } else if ( ';\n if ($isData) {\n out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'number\\') || ';\n }\n out += ' ' + ($exclType) + ' == \\'number\\' ? ( (' + ($exclusive) + ' = ' + ($schemaValue) + ' === undefined || ' + ($schemaValueExcl) + ' ' + ($op) + '= ' + ($schemaValue) + ') ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaValueExcl) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) : ( (' + ($exclusive) + ' = ' + ($schemaValueExcl) + ' === true) ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaValue) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) || ' + ($data) + ' !== ' + ($data) + ') { var op' + ($lvl) + ' = ' + ($exclusive) + ' ? \\'' + ($op) + '\\' : \\'' + ($op) + '=\\'; ';\n if ($schema === undefined) {\n $errorKeyword = $exclusiveKeyword;\n $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword;\n $schemaValue = $schemaValueExcl;\n $isData = $isDataExcl;\n }\n } else {\n var $exclIsNumber = typeof $schemaExcl == 'number',\n $opStr = $op;\n if ($exclIsNumber && $isData) {\n var $opExpr = '\\'' + $opStr + '\\'';\n out += ' if ( ';\n if ($isData) {\n out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'number\\') || ';\n }\n out += ' ( ' + ($schemaValue) + ' === undefined || ' + ($schemaExcl) + ' ' + ($op) + '= ' + ($schemaValue) + ' ? ' + ($data) + ' ' + ($notOp) + '= ' + ($schemaExcl) + ' : ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' ) || ' + ($data) + ' !== ' + ($data) + ') { ';\n } else {\n if ($exclIsNumber && $schema === undefined) {\n $exclusive = true;\n $errorKeyword = $exclusiveKeyword;\n $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword;\n $schemaValue = $schemaExcl;\n $notOp += '=';\n } else {\n if ($exclIsNumber) $schemaValue = Math[$isMax ? 'min' : 'max']($schemaExcl, $schema);\n if ($schemaExcl === ($exclIsNumber ? $schemaValue : true)) {\n $exclusive = true;\n $errorKeyword = $exclusiveKeyword;\n $errSchemaPath = it.errSchemaPath + '/' + $exclusiveKeyword;\n $notOp += '=';\n } else {\n $exclusive = false;\n $opStr += '=';\n }\n }\n var $opExpr = '\\'' + $opStr + '\\'';\n out += ' if ( ';\n if ($isData) {\n out += ' (' + ($schemaValue) + ' !== undefined && typeof ' + ($schemaValue) + ' != \\'number\\') || ';\n }\n out += ' ' + ($data) + ' ' + ($notOp) + ' ' + ($schemaValue) + ' || ' + ($data) + ' !== ' + ($data) + ') { ';\n }\n }\n $errorKeyword = $errorKeyword || $keyword;\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || '_limit') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { comparison: ' + ($opExpr) + ', limit: ' + ($schemaValue) + ', exclusive: ' + ($exclusive) + ' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should be ' + ($opStr) + ' ';\n if ($isData) {\n out += '\\' + ' + ($schemaValue);\n } else {\n out += '' + ($schemaValue) + '\\'';\n }\n }\n if (it.opts.verbose) {\n out += ' , schema: ';\n if ($isData) {\n out += 'validate.schema' + ($schemaPath);\n } else {\n out += '' + ($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"}