Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
m4lab_tv1
User Account
Compare Revisions
81e737774d023bdda129882988364f43e30d3701...b807a4c1887ffcd3cddb9f971756a7c999d31a24
Hide whitespace changes
Inline
Side-by-side
Too many changes to show.
To preserve performance only
20 of 465+
files are displayed.
node_modules/ajv/lib/dotjs/not.js
0 → 100644
View file @
b807a4c1
'
use strict
'
;
module
.
exports
=
function
generate_not
(
it
,
$keyword
,
$ruleType
)
{
var
out
=
'
'
;
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
$data
=
'
data
'
+
(
$dataLvl
||
''
);
var
$errs
=
'
errs__
'
+
$lvl
;
var
$it
=
it
.
util
.
copy
(
it
);
$it
.
level
++
;
var
$nextValid
=
'
valid
'
+
$it
.
level
;
if
((
it
.
opts
.
strictKeywords
?
(
typeof
$schema
==
'
object
'
&&
Object
.
keys
(
$schema
).
length
>
0
)
||
$schema
===
false
:
it
.
util
.
schemaHasRules
(
$schema
,
it
.
RULES
.
all
)))
{
$it
.
schema
=
$schema
;
$it
.
schemaPath
=
$schemaPath
;
$it
.
errSchemaPath
=
$errSchemaPath
;
out
+=
'
var
'
+
(
$errs
)
+
'
= errors;
'
;
var
$wasComposite
=
it
.
compositeRule
;
it
.
compositeRule
=
$it
.
compositeRule
=
true
;
$it
.
createErrors
=
false
;
var
$allErrorsOption
;
if
(
$it
.
opts
.
allErrors
)
{
$allErrorsOption
=
$it
.
opts
.
allErrors
;
$it
.
opts
.
allErrors
=
false
;
}
out
+=
'
'
+
(
it
.
validate
(
$it
))
+
'
'
;
$it
.
createErrors
=
true
;
if
(
$allErrorsOption
)
$it
.
opts
.
allErrors
=
$allErrorsOption
;
it
.
compositeRule
=
$it
.
compositeRule
=
$wasComposite
;
out
+=
'
if (
'
+
(
$nextValid
)
+
'
) {
'
;
var
$$outStack
=
$$outStack
||
[];
$$outStack
.
push
(
out
);
out
=
''
;
/* istanbul ignore else */
if
(
it
.
createErrors
!==
false
)
{
out
+=
'
{ keyword:
\'
'
+
(
'
not
'
)
+
'
\'
, dataPath: (dataPath ||
\'\'
) +
'
+
(
it
.
errorPath
)
+
'
, schemaPath:
'
+
(
it
.
util
.
toQuotedString
(
$errSchemaPath
))
+
'
, params: {}
'
;
if
(
it
.
opts
.
messages
!==
false
)
{
out
+=
'
, message:
\'
should NOT be valid
\'
'
;
}
if
(
it
.
opts
.
verbose
)
{
out
+=
'
, schema: validate.schema
'
+
(
$schemaPath
)
+
'
, parentSchema: validate.schema
'
+
(
it
.
schemaPath
)
+
'
, data:
'
+
(
$data
)
+
'
'
;
}
out
+=
'
}
'
;
}
else
{
out
+=
'
{}
'
;
}
var
__err
=
out
;
out
=
$$outStack
.
pop
();
if
(
!
it
.
compositeRule
&&
$breakOnError
)
{
/* istanbul ignore if */
if
(
it
.
async
)
{
out
+=
'
throw new ValidationError([
'
+
(
__err
)
+
'
]);
'
;
}
else
{
out
+=
'
validate.errors = [
'
+
(
__err
)
+
'
]; return false;
'
;
}
}
else
{
out
+=
'
var err =
'
+
(
__err
)
+
'
; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++;
'
;
}
out
+=
'
} else { errors =
'
+
(
$errs
)
+
'
; if (vErrors !== null) { if (
'
+
(
$errs
)
+
'
) vErrors.length =
'
+
(
$errs
)
+
'
; else vErrors = null; }
'
;
if
(
it
.
opts
.
allErrors
)
{
out
+=
'
}
'
;
}
}
else
{
out
+=
'
var err =
'
;
/* istanbul ignore else */
if
(
it
.
createErrors
!==
false
)
{
out
+=
'
{ keyword:
\'
'
+
(
'
not
'
)
+
'
\'
, dataPath: (dataPath ||
\'\'
) +
'
+
(
it
.
errorPath
)
+
'
, schemaPath:
'
+
(
it
.
util
.
toQuotedString
(
$errSchemaPath
))
+
'
, params: {}
'
;
if
(
it
.
opts
.
messages
!==
false
)
{
out
+=
'
, message:
\'
should NOT be valid
\'
'
;
}
if
(
it
.
opts
.
verbose
)
{
out
+=
'
, schema: validate.schema
'
+
(
$schemaPath
)
+
'
, parentSchema: validate.schema
'
+
(
it
.
schemaPath
)
+
'
, data:
'
+
(
$data
)
+
'
'
;
}
out
+=
'
}
'
;
}
else
{
out
+=
'
{}
'
;
}
out
+=
'
; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++;
'
;
if
(
$breakOnError
)
{
out
+=
'
if (false) {
'
;
}
}
return
out
;
}
node_modules/ajv/lib/dotjs/oneOf.js
0 → 100644
View file @
b807a4c1
'
use strict
'
;
module
.
exports
=
function
generate_oneOf
(
it
,
$keyword
,
$ruleType
)
{
var
out
=
'
'
;
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
$data
=
'
data
'
+
(
$dataLvl
||
''
);
var
$valid
=
'
valid
'
+
$lvl
;
var
$errs
=
'
errs__
'
+
$lvl
;
var
$it
=
it
.
util
.
copy
(
it
);
var
$closingBraces
=
''
;
$it
.
level
++
;
var
$nextValid
=
'
valid
'
+
$it
.
level
;
var
$currentBaseId
=
$it
.
baseId
,
$prevValid
=
'
prevValid
'
+
$lvl
,
$passingSchemas
=
'
passingSchemas
'
+
$lvl
;
out
+=
'
var
'
+
(
$errs
)
+
'
= errors ,
'
+
(
$prevValid
)
+
'
= false ,
'
+
(
$valid
)
+
'
= false ,
'
+
(
$passingSchemas
)
+
'
= null;
'
;
var
$wasComposite
=
it
.
compositeRule
;
it
.
compositeRule
=
$it
.
compositeRule
=
true
;
var
arr1
=
$schema
;
if
(
arr1
)
{
var
$sch
,
$i
=
-
1
,
l1
=
arr1
.
length
-
1
;
while
(
$i
<
l1
)
{
$sch
=
arr1
[
$i
+=
1
];
if
((
it
.
opts
.
strictKeywords
?
(
typeof
$sch
==
'
object
'
&&
Object
.
keys
(
$sch
).
length
>
0
)
||
$sch
===
false
:
it
.
util
.
schemaHasRules
(
$sch
,
it
.
RULES
.
all
)))
{
$it
.
schema
=
$sch
;
$it
.
schemaPath
=
$schemaPath
+
'
[
'
+
$i
+
'
]
'
;
$it
.
errSchemaPath
=
$errSchemaPath
+
'
/
'
+
$i
;
out
+=
'
'
+
(
it
.
validate
(
$it
))
+
'
'
;
$it
.
baseId
=
$currentBaseId
;
}
else
{
out
+=
'
var
'
+
(
$nextValid
)
+
'
= true;
'
;
}
if
(
$i
)
{
out
+=
'
if (
'
+
(
$nextValid
)
+
'
&&
'
+
(
$prevValid
)
+
'
) {
'
+
(
$valid
)
+
'
= false;
'
+
(
$passingSchemas
)
+
'
= [
'
+
(
$passingSchemas
)
+
'
,
'
+
(
$i
)
+
'
]; } else {
'
;
$closingBraces
+=
'
}
'
;
}
out
+=
'
if (
'
+
(
$nextValid
)
+
'
) {
'
+
(
$valid
)
+
'
=
'
+
(
$prevValid
)
+
'
= true;
'
+
(
$passingSchemas
)
+
'
=
'
+
(
$i
)
+
'
; }
'
;
}
}
it
.
compositeRule
=
$it
.
compositeRule
=
$wasComposite
;
out
+=
''
+
(
$closingBraces
)
+
'
if (!
'
+
(
$valid
)
+
'
) { var err =
'
;
/* istanbul ignore else */
if
(
it
.
createErrors
!==
false
)
{
out
+=
'
{ keyword:
\'
'
+
(
'
oneOf
'
)
+
'
\'
, dataPath: (dataPath ||
\'\'
) +
'
+
(
it
.
errorPath
)
+
'
, schemaPath:
'
+
(
it
.
util
.
toQuotedString
(
$errSchemaPath
))
+
'
, params: { passingSchemas:
'
+
(
$passingSchemas
)
+
'
}
'
;
if
(
it
.
opts
.
messages
!==
false
)
{
out
+=
'
, message:
\'
should match exactly one schema in oneOf
\'
'
;
}
if
(
it
.
opts
.
verbose
)
{
out
+=
'
, schema: validate.schema
'
+
(
$schemaPath
)
+
'
, parentSchema: validate.schema
'
+
(
it
.
schemaPath
)
+
'
, data:
'
+
(
$data
)
+
'
'
;
}
out
+=
'
}
'
;
}
else
{
out
+=
'
{}
'
;
}
out
+=
'
; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++;
'
;
if
(
!
it
.
compositeRule
&&
$breakOnError
)
{
/* istanbul ignore if */
if
(
it
.
async
)
{
out
+=
'
throw new ValidationError(vErrors);
'
;
}
else
{
out
+=
'
validate.errors = vErrors; return false;
'
;
}
}
out
+=
'
} else { errors =
'
+
(
$errs
)
+
'
; if (vErrors !== null) { if (
'
+
(
$errs
)
+
'
) vErrors.length =
'
+
(
$errs
)
+
'
; else vErrors = null; }
'
;
if
(
it
.
opts
.
allErrors
)
{
out
+=
'
}
'
;
}
return
out
;
}
node_modules/ajv/lib/dotjs/pattern.js
0 → 100644
View file @
b807a4c1
'
use strict
'
;
module
.
exports
=
function
generate_pattern
(
it
,
$keyword
,
$ruleType
)
{
var
out
=
'
'
;
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
$data
=
'
data
'
+
(
$dataLvl
||
''
);
var
$isData
=
it
.
opts
.
$data
&&
$schema
&&
$schema
.
$data
,
$schemaValue
;
if
(
$isData
)
{
out
+=
'
var schema
'
+
(
$lvl
)
+
'
=
'
+
(
it
.
util
.
getData
(
$schema
.
$data
,
$dataLvl
,
it
.
dataPathArr
))
+
'
;
'
;
$schemaValue
=
'
schema
'
+
$lvl
;
}
else
{
$schemaValue
=
$schema
;
}
var
$regexp
=
$isData
?
'
(new RegExp(
'
+
$schemaValue
+
'
))
'
:
it
.
usePattern
(
$schema
);
out
+=
'
if (
'
;
if
(
$isData
)
{
out
+=
'
(
'
+
(
$schemaValue
)
+
'
!== undefined && typeof
'
+
(
$schemaValue
)
+
'
!=
\'
string
\'
) ||
'
;
}
out
+=
'
!
'
+
(
$regexp
)
+
'
.test(
'
+
(
$data
)
+
'
) ) {
'
;
var
$$outStack
=
$$outStack
||
[];
$$outStack
.
push
(
out
);
out
=
''
;
/* istanbul ignore else */
if
(
it
.
createErrors
!==
false
)
{
out
+=
'
{ keyword:
\'
'
+
(
'
pattern
'
)
+
'
\'
, dataPath: (dataPath ||
\'\'
) +
'
+
(
it
.
errorPath
)
+
'
, schemaPath:
'
+
(
it
.
util
.
toQuotedString
(
$errSchemaPath
))
+
'
, params: { pattern:
'
;
if
(
$isData
)
{
out
+=
''
+
(
$schemaValue
);
}
else
{
out
+=
''
+
(
it
.
util
.
toQuotedString
(
$schema
));
}
out
+=
'
}
'
;
if
(
it
.
opts
.
messages
!==
false
)
{
out
+=
'
, message:
\'
should match pattern "
'
;
if
(
$isData
)
{
out
+=
'
\'
+
'
+
(
$schemaValue
)
+
'
+
\'
'
;
}
else
{
out
+=
''
+
(
it
.
util
.
escapeQuotes
(
$schema
));
}
out
+=
'
"
\'
'
;
}
if
(
it
.
opts
.
verbose
)
{
out
+=
'
, schema:
'
;
if
(
$isData
)
{
out
+=
'
validate.schema
'
+
(
$schemaPath
);
}
else
{
out
+=
''
+
(
it
.
util
.
toQuotedString
(
$schema
));
}
out
+=
'
, parentSchema: validate.schema
'
+
(
it
.
schemaPath
)
+
'
, data:
'
+
(
$data
)
+
'
'
;
}
out
+=
'
}
'
;
}
else
{
out
+=
'
{}
'
;
}
var
__err
=
out
;
out
=
$$outStack
.
pop
();
if
(
!
it
.
compositeRule
&&
$breakOnError
)
{
/* istanbul ignore if */
if
(
it
.
async
)
{
out
+=
'
throw new ValidationError([
'
+
(
__err
)
+
'
]);
'
;
}
else
{
out
+=
'
validate.errors = [
'
+
(
__err
)
+
'
]; return false;
'
;
}
}
else
{
out
+=
'
var err =
'
+
(
__err
)
+
'
; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++;
'
;
}
out
+=
'
}
'
;
if
(
$breakOnError
)
{
out
+=
'
else {
'
;
}
return
out
;
}
node_modules/ajv/lib/dotjs/properties.js
0 → 100644
View file @
b807a4c1
'
use strict
'
;
module
.
exports
=
function
generate_properties
(
it
,
$keyword
,
$ruleType
)
{
var
out
=
'
'
;
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
$data
=
'
data
'
+
(
$dataLvl
||
''
);
var
$errs
=
'
errs__
'
+
$lvl
;
var
$it
=
it
.
util
.
copy
(
it
);
var
$closingBraces
=
''
;
$it
.
level
++
;
var
$nextValid
=
'
valid
'
+
$it
.
level
;
var
$key
=
'
key
'
+
$lvl
,
$idx
=
'
idx
'
+
$lvl
,
$dataNxt
=
$it
.
dataLevel
=
it
.
dataLevel
+
1
,
$nextData
=
'
data
'
+
$dataNxt
,
$dataProperties
=
'
dataProperties
'
+
$lvl
;
var
$schemaKeys
=
Object
.
keys
(
$schema
||
{}).
filter
(
notProto
),
$pProperties
=
it
.
schema
.
patternProperties
||
{},
$pPropertyKeys
=
Object
.
keys
(
$pProperties
).
filter
(
notProto
),
$aProperties
=
it
.
schema
.
additionalProperties
,
$someProperties
=
$schemaKeys
.
length
||
$pPropertyKeys
.
length
,
$noAdditional
=
$aProperties
===
false
,
$additionalIsSchema
=
typeof
$aProperties
==
'
object
'
&&
Object
.
keys
(
$aProperties
).
length
,
$removeAdditional
=
it
.
opts
.
removeAdditional
,
$checkAdditional
=
$noAdditional
||
$additionalIsSchema
||
$removeAdditional
,
$ownProperties
=
it
.
opts
.
ownProperties
,
$currentBaseId
=
it
.
baseId
;
var
$required
=
it
.
schema
.
required
;
if
(
$required
&&
!
(
it
.
opts
.
$data
&&
$required
.
$data
)
&&
$required
.
length
<
it
.
opts
.
loopRequired
)
{
var
$requiredHash
=
it
.
util
.
toHash
(
$required
);
}
function
notProto
(
p
)
{
return
p
!==
'
__proto__
'
;
}
out
+=
'
var
'
+
(
$errs
)
+
'
= errors;var
'
+
(
$nextValid
)
+
'
= true;
'
;
if
(
$ownProperties
)
{
out
+=
'
var
'
+
(
$dataProperties
)
+
'
= undefined;
'
;
}
if
(
$checkAdditional
)
{
if
(
$ownProperties
)
{
out
+=
'
'
+
(
$dataProperties
)
+
'
=
'
+
(
$dataProperties
)
+
'
|| Object.keys(
'
+
(
$data
)
+
'
); for (var
'
+
(
$idx
)
+
'
=0;
'
+
(
$idx
)
+
'
<
'
+
(
$dataProperties
)
+
'
.length;
'
+
(
$idx
)
+
'
++) { var
'
+
(
$key
)
+
'
=
'
+
(
$dataProperties
)
+
'
[
'
+
(
$idx
)
+
'
];
'
;
}
else
{
out
+=
'
for (var
'
+
(
$key
)
+
'
in
'
+
(
$data
)
+
'
) {
'
;
}
if
(
$someProperties
)
{
out
+=
'
var isAdditional
'
+
(
$lvl
)
+
'
= !(false
'
;
if
(
$schemaKeys
.
length
)
{
if
(
$schemaKeys
.
length
>
8
)
{
out
+=
'
|| validate.schema
'
+
(
$schemaPath
)
+
'
.hasOwnProperty(
'
+
(
$key
)
+
'
)
'
;
}
else
{
var
arr1
=
$schemaKeys
;
if
(
arr1
)
{
var
$propertyKey
,
i1
=
-
1
,
l1
=
arr1
.
length
-
1
;
while
(
i1
<
l1
)
{
$propertyKey
=
arr1
[
i1
+=
1
];
out
+=
'
||
'
+
(
$key
)
+
'
==
'
+
(
it
.
util
.
toQuotedString
(
$propertyKey
))
+
'
'
;
}
}
}
}
if
(
$pPropertyKeys
.
length
)
{
var
arr2
=
$pPropertyKeys
;
if
(
arr2
)
{
var
$pProperty
,
$i
=
-
1
,
l2
=
arr2
.
length
-
1
;
while
(
$i
<
l2
)
{
$pProperty
=
arr2
[
$i
+=
1
];
out
+=
'
||
'
+
(
it
.
usePattern
(
$pProperty
))
+
'
.test(
'
+
(
$key
)
+
'
)
'
;
}
}
}
out
+=
'
); if (isAdditional
'
+
(
$lvl
)
+
'
) {
'
;
}
if
(
$removeAdditional
==
'
all
'
)
{
out
+=
'
delete
'
+
(
$data
)
+
'
[
'
+
(
$key
)
+
'
];
'
;
}
else
{
var
$currentErrorPath
=
it
.
errorPath
;
var
$additionalProperty
=
'
\'
+
'
+
$key
+
'
+
\'
'
;
if
(
it
.
opts
.
_errorDataPathProperty
)
{
it
.
errorPath
=
it
.
util
.
getPathExpr
(
it
.
errorPath
,
$key
,
it
.
opts
.
jsonPointers
);
}
if
(
$noAdditional
)
{
if
(
$removeAdditional
)
{
out
+=
'
delete
'
+
(
$data
)
+
'
[
'
+
(
$key
)
+
'
];
'
;
}
else
{
out
+=
'
'
+
(
$nextValid
)
+
'
= false;
'
;
var
$currErrSchemaPath
=
$errSchemaPath
;
$errSchemaPath
=
it
.
errSchemaPath
+
'
/additionalProperties
'
;
var
$$outStack
=
$$outStack
||
[];
$$outStack
.
push
(
out
);
out
=
''
;
/* istanbul ignore else */
if
(
it
.
createErrors
!==
false
)
{
out
+=
'
{ keyword:
\'
'
+
(
'
additionalProperties
'
)
+
'
\'
, dataPath: (dataPath ||
\'\'
) +
'
+
(
it
.
errorPath
)
+
'
, schemaPath:
'
+
(
it
.
util
.
toQuotedString
(
$errSchemaPath
))
+
'
, params: { additionalProperty:
\'
'
+
(
$additionalProperty
)
+
'
\'
}
'
;
if
(
it
.
opts
.
messages
!==
false
)
{
out
+=
'
, message:
\'
'
;
if
(
it
.
opts
.
_errorDataPathProperty
)
{
out
+=
'
is an invalid additional property
'
;
}
else
{
out
+=
'
should NOT have additional properties
'
;
}
out
+=
'
\'
'
;
}
if
(
it
.
opts
.
verbose
)
{
out
+=
'
, schema: false , parentSchema: validate.schema
'
+
(
it
.
schemaPath
)
+
'
, data:
'
+
(
$data
)
+
'
'
;
}
out
+=
'
}
'
;
}
else
{
out
+=
'
{}
'
;
}
var
__err
=
out
;
out
=
$$outStack
.
pop
();
if
(
!
it
.
compositeRule
&&
$breakOnError
)
{
/* istanbul ignore if */
if
(
it
.
async
)
{
out
+=
'
throw new ValidationError([
'
+
(
__err
)
+
'
]);
'
;
}
else
{
out
+=
'
validate.errors = [
'
+
(
__err
)
+
'
]; return false;
'
;
}
}
else
{
out
+=
'
var err =
'
+
(
__err
)
+
'
; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++;
'
;
}
$errSchemaPath
=
$currErrSchemaPath
;
if
(
$breakOnError
)
{
out
+=
'
break;
'
;
}
}
}
else
if
(
$additionalIsSchema
)
{
if
(
$removeAdditional
==
'
failing
'
)
{
out
+=
'
var
'
+
(
$errs
)
+
'
= errors;
'
;
var
$wasComposite
=
it
.
compositeRule
;
it
.
compositeRule
=
$it
.
compositeRule
=
true
;
$it
.
schema
=
$aProperties
;
$it
.
schemaPath
=
it
.
schemaPath
+
'
.additionalProperties
'
;
$it
.
errSchemaPath
=
it
.
errSchemaPath
+
'
/additionalProperties
'
;
$it
.
errorPath
=
it
.
opts
.
_errorDataPathProperty
?
it
.
errorPath
:
it
.
util
.
getPathExpr
(
it
.
errorPath
,
$key
,
it
.
opts
.
jsonPointers
);
var
$passData
=
$data
+
'
[
'
+
$key
+
'
]
'
;
$it
.
dataPathArr
[
$dataNxt
]
=
$key
;
var
$code
=
it
.
validate
(
$it
);
$it
.
baseId
=
$currentBaseId
;
if
(
it
.
util
.
varOccurences
(
$code
,
$nextData
)
<
2
)
{
out
+=
'
'
+
(
it
.
util
.
varReplace
(
$code
,
$nextData
,
$passData
))
+
'
'
;
}
else
{
out
+=
'
var
'
+
(
$nextData
)
+
'
=
'
+
(
$passData
)
+
'
;
'
+
(
$code
)
+
'
'
;
}
out
+=
'
if (!
'
+
(
$nextValid
)
+
'
) { errors =
'
+
(
$errs
)
+
'
; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete
'
+
(
$data
)
+
'
[
'
+
(
$key
)
+
'
]; }
'
;
it
.
compositeRule
=
$it
.
compositeRule
=
$wasComposite
;
}
else
{
$it
.
schema
=
$aProperties
;
$it
.
schemaPath
=
it
.
schemaPath
+
'
.additionalProperties
'
;
$it
.
errSchemaPath
=
it
.
errSchemaPath
+
'
/additionalProperties
'
;
$it
.
errorPath
=
it
.
opts
.
_errorDataPathProperty
?
it
.
errorPath
:
it
.
util
.
getPathExpr
(
it
.
errorPath
,
$key
,
it
.
opts
.
jsonPointers
);
var
$passData
=
$data
+
'
[
'
+
$key
+
'
]
'
;
$it
.
dataPathArr
[
$dataNxt
]
=
$key
;
var
$code
=
it
.
validate
(
$it
);
$it
.
baseId
=
$currentBaseId
;
if
(
it
.
util
.
varOccurences
(
$code
,
$nextData
)
<
2
)
{
out
+=
'
'
+
(
it
.
util
.
varReplace
(
$code
,
$nextData
,
$passData
))
+
'
'
;
}
else
{
out
+=
'
var
'
+
(
$nextData
)
+
'
=
'
+
(
$passData
)
+
'
;
'
+
(
$code
)
+
'
'
;
}
if
(
$breakOnError
)
{
out
+=
'
if (!
'
+
(
$nextValid
)
+
'
) break;
'
;
}
}
}
it
.
errorPath
=
$currentErrorPath
;
}
if
(
$someProperties
)
{
out
+=
'
}
'
;
}
out
+=
'
}
'
;
if
(
$breakOnError
)
{
out
+=
'
if (
'
+
(
$nextValid
)
+
'
) {
'
;
$closingBraces
+=
'
}
'
;
}
}
var
$useDefaults
=
it
.
opts
.
useDefaults
&&
!
it
.
compositeRule
;
if
(
$schemaKeys
.
length
)
{
var
arr3
=
$schemaKeys
;
if
(
arr3
)
{
var
$propertyKey
,
i3
=
-
1
,
l3
=
arr3
.
length
-
1
;
while
(
i3
<
l3
)
{
$propertyKey
=
arr3
[
i3
+=
1
];
var
$sch
=
$schema
[
$propertyKey
];
if
((
it
.
opts
.
strictKeywords
?
(
typeof
$sch
==
'
object
'
&&
Object
.
keys
(
$sch
).
length
>
0
)
||
$sch
===
false
:
it
.
util
.
schemaHasRules
(
$sch
,
it
.
RULES
.
all
)))
{
var
$prop
=
it
.
util
.
getProperty
(
$propertyKey
),
$passData
=
$data
+
$prop
,
$hasDefault
=
$useDefaults
&&
$sch
.
default
!==
undefined
;
$it
.
schema
=
$sch
;
$it
.
schemaPath
=
$schemaPath
+
$prop
;
$it
.
errSchemaPath
=
$errSchemaPath
+
'
/
'
+
it
.
util
.
escapeFragment
(
$propertyKey
);
$it
.
errorPath
=
it
.
util
.
getPath
(
it
.
errorPath
,
$propertyKey
,
it
.
opts
.
jsonPointers
);
$it
.
dataPathArr
[
$dataNxt
]
=
it
.
util
.
toQuotedString
(
$propertyKey
);
var
$code
=
it
.
validate
(
$it
);
$it
.
baseId
=
$currentBaseId
;
if
(
it
.
util
.
varOccurences
(
$code
,
$nextData
)
<
2
)
{
$code
=
it
.
util
.
varReplace
(
$code
,
$nextData
,
$passData
);
var
$useData
=
$passData
;
}
else
{
var
$useData
=
$nextData
;
out
+=
'
var
'
+
(
$nextData
)
+
'
=
'
+
(
$passData
)
+
'
;
'
;
}
if
(
$hasDefault
)
{
out
+=
'
'
+
(
$code
)
+
'
'
;
}
else
{
if
(
$requiredHash
&&
$requiredHash
[
$propertyKey
])
{
out
+=
'
if (
'
+
(
$useData
)
+
'
=== undefined
'
;
if
(
$ownProperties
)
{
out
+=
'
|| ! Object.prototype.hasOwnProperty.call(
'
+
(
$data
)
+
'
,
\'
'
+
(
it
.
util
.
escapeQuotes
(
$propertyKey
))
+
'
\'
)
'
;
}
out
+=
'
) {
'
+
(
$nextValid
)
+
'
= false;
'
;
var
$currentErrorPath
=
it
.
errorPath
,
$currErrSchemaPath
=
$errSchemaPath
,
$missingProperty
=
it
.
util
.
escapeQuotes
(
$propertyKey
);
if
(
it
.
opts
.
_errorDataPathProperty
)
{
it
.
errorPath
=
it
.
util
.
getPath
(
$currentErrorPath
,
$propertyKey
,
it
.
opts
.
jsonPointers
);
}
$errSchemaPath
=
it
.
errSchemaPath
+
'
/required
'
;
var
$$outStack
=
$$outStack
||
[];
$$outStack
.
push
(
out
);
out
=
''
;
/* istanbul ignore else */
if
(
it
.
createErrors
!==
false
)
{
out
+=
'
{ keyword:
\'
'
+
(
'
required
'
)
+
'
\'
, dataPath: (dataPath ||
\'\'
) +
'
+
(
it
.
errorPath
)
+
'
, schemaPath:
'
+
(
it
.
util
.
toQuotedString
(
$errSchemaPath
))
+
'
, params: { missingProperty:
\'
'
+
(
$missingProperty
)
+
'
\'
}
'
;
if
(
it
.
opts
.
messages
!==
false
)
{
out
+=
'
, message:
\'
'
;
if
(
it
.
opts
.
_errorDataPathProperty
)
{
out
+=
'
is a required property
'
;
}
else
{
out
+=
'
should have required property
\\\'
'
+
(
$missingProperty
)
+
'
\\\'
'
;
}
out
+=
'
\'
'
;
}
if
(
it
.
opts
.
verbose
)
{
out
+=
'
, schema: validate.schema
'
+
(
$schemaPath
)
+
'
, parentSchema: validate.schema
'
+
(
it
.
schemaPath
)
+
'
, data:
'
+
(
$data
)
+
'
'
;
}
out
+=
'
}
'
;
}
else
{
out
+=
'
{}
'
;
}
var
__err
=
out
;
out
=
$$outStack
.
pop
();
if
(
!
it
.
compositeRule
&&
$breakOnError
)
{
/* istanbul ignore if */
if
(
it
.
async
)
{
out
+=
'
throw new ValidationError([
'
+
(
__err
)
+
'
]);
'
;
}
else
{
out
+=
'
validate.errors = [
'
+
(
__err
)
+
'
]; return false;
'
;
}
}
else
{
out
+=
'
var err =
'
+
(
__err
)
+
'
; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++;
'
;
}
$errSchemaPath
=
$currErrSchemaPath
;
it
.
errorPath
=
$currentErrorPath
;
out
+=
'
} else {
'
;
}
else
{
if
(
$breakOnError
)
{
out
+=
'
if (
'
+
(
$useData
)
+
'
=== undefined
'
;
if
(
$ownProperties
)
{
out
+=
'
|| ! Object.prototype.hasOwnProperty.call(
'
+
(
$data
)
+
'
,
\'
'
+
(
it
.
util
.
escapeQuotes
(
$propertyKey
))
+
'
\'
)
'
;
}
out
+=
'
) {
'
+
(
$nextValid
)
+
'
= true; } else {
'
;
}
else
{
out
+=
'
if (
'
+
(
$useData
)
+
'
!== undefined
'
;
if
(
$ownProperties
)
{
out
+=
'
&& Object.prototype.hasOwnProperty.call(
'
+
(
$data
)
+
'
,
\'
'
+
(
it
.
util
.
escapeQuotes
(
$propertyKey
))
+
'
\'
)
'
;
}
out
+=
'
) {
'
;
}
}
out
+=
'
'
+
(
$code
)
+
'
}
'
;
}
}
if
(
$breakOnError
)
{
out
+=
'
if (
'
+
(
$nextValid
)
+
'
) {
'
;
$closingBraces
+=
'
}
'
;
}
}
}
}
if
(
$pPropertyKeys
.
length
)
{
var
arr4
=
$pPropertyKeys
;
if
(
arr4
)
{
var
$pProperty
,
i4
=
-
1
,
l4
=
arr4
.
length
-
1
;
while
(
i4
<
l4
)
{
$pProperty
=
arr4
[
i4
+=
1
];
var
$sch
=
$pProperties
[
$pProperty
];
if
((
it
.
opts
.
strictKeywords
?
(
typeof
$sch
==
'
object
'
&&
Object
.
keys
(
$sch
).
length
>
0
)
||
$sch
===
false
:
it
.
util
.
schemaHasRules
(
$sch
,
it
.
RULES
.
all
)))
{
$it
.
schema
=
$sch
;
$it
.
schemaPath
=
it
.
schemaPath
+
'
.patternProperties
'
+
it
.
util
.
getProperty
(
$pProperty
);
$it
.
errSchemaPath
=
it
.
errSchemaPath
+
'
/patternProperties/
'
+
it
.
util
.
escapeFragment
(
$pProperty
);
if
(
$ownProperties
)
{
out
+=
'
'
+
(
$dataProperties
)
+
'
=
'
+
(
$dataProperties
)
+
'
|| Object.keys(
'
+
(
$data
)
+
'
); for (var
'
+
(
$idx
)
+
'
=0;
'
+
(
$idx
)
+
'
<
'
+
(
$dataProperties
)
+
'
.length;
'
+
(
$idx
)
+
'
++) { var
'
+
(
$key
)
+
'
=
'
+
(
$dataProperties
)
+
'
[
'
+
(
$idx
)
+
'
];
'
;
}
else
{
out
+=
'
for (var
'
+
(
$key
)
+
'
in
'
+
(
$data
)
+
'
) {
'
;
}
out
+=
'
if (
'
+
(
it
.
usePattern
(
$pProperty
))
+
'
.test(
'
+
(
$key
)
+
'
)) {
'
;
$it
.
errorPath
=
it
.
util
.
getPathExpr
(
it
.
errorPath
,
$key
,
it
.
opts
.
jsonPointers
);
var
$passData
=
$data
+
'
[
'
+
$key
+
'
]
'
;
$it
.
dataPathArr
[
$dataNxt
]
=
$key
;
var
$code
=
it
.
validate
(
$it
);
$it
.
baseId
=
$currentBaseId
;
if
(
it
.
util
.
varOccurences
(
$code
,
$nextData
)
<
2
)
{
out
+=
'
'
+
(
it
.
util
.
varReplace
(
$code
,
$nextData
,
$passData
))
+
'
'
;
}
else
{
out
+=
'
var
'
+
(
$nextData
)
+
'
=
'
+
(
$passData
)
+
'
;
'
+
(
$code
)
+
'
'
;
}
if
(
$breakOnError
)
{
out
+=
'
if (!
'
+
(
$nextValid
)
+
'
) break;
'
;
}
out
+=
'
}
'
;
if
(
$breakOnError
)
{
out
+=
'
else
'
+
(
$nextValid
)
+
'
= true;
'
;
}
out
+=
'
}
'
;
if
(
$breakOnError
)
{
out
+=
'
if (
'
+
(
$nextValid
)
+
'
) {
'
;
$closingBraces
+=
'
}
'
;
}
}
}
}
}
if
(
$breakOnError
)
{
out
+=
'
'
+
(
$closingBraces
)
+
'
if (
'
+
(
$errs
)
+
'
== errors) {
'
;
}
return
out
;
}
node_modules/ajv/lib/dotjs/propertyNames.js
0 → 100644
View file @
b807a4c1
'
use strict
'
;
module
.
exports
=
function
generate_propertyNames
(
it
,
$keyword
,
$ruleType
)
{
var
out
=
'
'
;
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
$data
=
'
data
'
+
(
$dataLvl
||
''
);
var
$errs
=
'
errs__
'
+
$lvl
;
var
$it
=
it
.
util
.
copy
(
it
);
var
$closingBraces
=
''
;
$it
.
level
++
;
var
$nextValid
=
'
valid
'
+
$it
.
level
;
out
+=
'
var
'
+
(
$errs
)
+
'
= errors;
'
;
if
((
it
.
opts
.
strictKeywords
?
(
typeof
$schema
==
'
object
'
&&
Object
.
keys
(
$schema
).
length
>
0
)
||
$schema
===
false
:
it
.
util
.
schemaHasRules
(
$schema
,
it
.
RULES
.
all
)))
{
$it
.
schema
=
$schema
;
$it
.
schemaPath
=
$schemaPath
;
$it
.
errSchemaPath
=
$errSchemaPath
;
var
$key
=
'
key
'
+
$lvl
,
$idx
=
'
idx
'
+
$lvl
,
$i
=
'
i
'
+
$lvl
,
$invalidName
=
'
\'
+
'
+
$key
+
'
+
\'
'
,
$dataNxt
=
$it
.
dataLevel
=
it
.
dataLevel
+
1
,
$nextData
=
'
data
'
+
$dataNxt
,
$dataProperties
=
'
dataProperties
'
+
$lvl
,
$ownProperties
=
it
.
opts
.
ownProperties
,
$currentBaseId
=
it
.
baseId
;
if
(
$ownProperties
)
{
out
+=
'
var
'
+
(
$dataProperties
)
+
'
= undefined;
'
;
}
if
(
$ownProperties
)
{
out
+=
'
'
+
(
$dataProperties
)
+
'
=
'
+
(
$dataProperties
)
+
'
|| Object.keys(
'
+
(
$data
)
+
'
); for (var
'
+
(
$idx
)
+
'
=0;
'
+
(
$idx
)
+
'
<
'
+
(
$dataProperties
)
+
'
.length;
'
+
(
$idx
)
+
'
++) { var
'
+
(
$key
)
+
'
=
'
+
(
$dataProperties
)
+
'
[
'
+
(
$idx
)
+
'
];
'
;
}
else
{
out
+=
'
for (var
'
+
(
$key
)
+
'
in
'
+
(
$data
)
+
'
) {
'
;
}
out
+=
'
var startErrs
'
+
(
$lvl
)
+
'
= errors;
'
;
var
$passData
=
$key
;
var
$wasComposite
=
it
.
compositeRule
;
it
.
compositeRule
=
$it
.
compositeRule
=
true
;
var
$code
=
it
.
validate
(
$it
);
$it
.
baseId
=
$currentBaseId
;
if
(
it
.
util
.
varOccurences
(
$code
,
$nextData
)
<
2
)
{
out
+=
'
'
+
(
it
.
util
.
varReplace
(
$code
,
$nextData
,
$passData
))
+
'
'
;
}
else
{
out
+=
'
var
'
+
(
$nextData
)
+
'
=
'
+
(
$passData
)
+
'
;
'
+
(
$code
)
+
'
'
;
}
it
.
compositeRule
=
$it
.
compositeRule
=
$wasComposite
;
out
+=
'
if (!
'
+
(
$nextValid
)
+
'
) { for (var
'
+
(
$i
)
+
'
=startErrs
'
+
(
$lvl
)
+
'
;
'
+
(
$i
)
+
'
<errors;
'
+
(
$i
)
+
'
++) { vErrors[
'
+
(
$i
)
+
'
].propertyName =
'
+
(
$key
)
+
'
; } var err =
'
;
/* istanbul ignore else */
if
(
it
.
createErrors
!==
false
)
{
out
+=
'
{ keyword:
\'
'
+
(
'
propertyNames
'
)
+
'
\'
, dataPath: (dataPath ||
\'\'
) +
'
+
(
it
.
errorPath
)
+
'
, schemaPath:
'
+
(
it
.
util
.
toQuotedString
(
$errSchemaPath
))
+
'
, params: { propertyName:
\'
'
+
(
$invalidName
)
+
'
\'
}
'
;
if
(
it
.
opts
.
messages
!==
false
)
{
out
+=
'
, message:
\'
property name
\\\'
'
+
(
$invalidName
)
+
'
\\\'
is invalid
\'
'
;
}
if
(
it
.
opts
.
verbose
)
{
out
+=
'
, schema: validate.schema
'
+
(
$schemaPath
)
+
'
, parentSchema: validate.schema
'
+
(
it
.
schemaPath
)
+
'
, data:
'
+
(
$data
)
+
'
'
;
}
out
+=
'
}
'
;
}
else
{
out
+=
'
{}
'
;
}
out
+=
'
; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++;
'
;
if
(
!
it
.
compositeRule
&&
$breakOnError
)
{
/* istanbul ignore if */
if
(
it
.
async
)
{
out
+=
'
throw new ValidationError(vErrors);
'
;
}
else
{
out
+=
'
validate.errors = vErrors; return false;
'
;
}
}
if
(
$breakOnError
)
{
out
+=
'
break;
'
;
}
out
+=
'
} }
'
;
}
if
(
$breakOnError
)
{
out
+=
'
'
+
(
$closingBraces
)
+
'
if (
'
+
(
$errs
)
+
'
== errors) {
'
;
}
return
out
;
}
node_modules/ajv/lib/dotjs/ref.js
0 → 100644
View file @
b807a4c1
'
use strict
'
;
module
.
exports
=
function
generate_ref
(
it
,
$keyword
,
$ruleType
)
{
var
out
=
'
'
;
var
$lvl
=
it
.
level
;
var
$dataLvl
=
it
.
dataLevel
;
var
$schema
=
it
.
schema
[
$keyword
];
var
$errSchemaPath
=
it
.
errSchemaPath
+
'
/
'
+
$keyword
;
var
$breakOnError
=
!
it
.
opts
.
allErrors
;
var
$data
=
'
data
'
+
(
$dataLvl
||
''
);
var
$valid
=
'
valid
'
+
$lvl
;
var
$async
,
$refCode
;
if
(
$schema
==
'
#
'
||
$schema
==
'
#/
'
)
{
if
(
it
.
isRoot
)
{
$async
=
it
.
async
;
$refCode
=
'
validate
'
;
}
else
{
$async
=
it
.
root
.
schema
.
$async
===
true
;
$refCode
=
'
root.refVal[0]
'
;
}
}
else
{
var
$refVal
=
it
.
resolveRef
(
it
.
baseId
,
$schema
,
it
.
isRoot
);
if
(
$refVal
===
undefined
)
{
var
$message
=
it
.
MissingRefError
.
message
(
it
.
baseId
,
$schema
);
if
(
it
.
opts
.
missingRefs
==
'
fail
'
)
{
it
.
logger
.
error
(
$message
);
var
$$outStack
=
$$outStack
||
[];
$$outStack
.
push
(
out
);
out
=
''
;
/* istanbul ignore else */
if
(
it
.
createErrors
!==
false
)
{
out
+=
'
{ keyword:
\'
'
+
(
'
$ref
'
)
+
'
\'
, dataPath: (dataPath ||
\'\'
) +
'
+
(
it
.
errorPath
)
+
'
, schemaPath:
'
+
(
it
.
util
.
toQuotedString
(
$errSchemaPath
))
+
'
, params: { ref:
\'
'
+
(
it
.
util
.
escapeQuotes
(
$schema
))
+
'
\'
}
'
;
if
(
it
.
opts
.
messages
!==
false
)
{
out
+=
'
, message:
\'
can
\\\'
t resolve reference
'
+
(
it
.
util
.
escapeQuotes
(
$schema
))
+
'
\'
'
;
}
if
(
it
.
opts
.
verbose
)
{
out
+=
'
, schema:
'
+
(
it
.
util
.
toQuotedString
(
$schema
))
+
'
, parentSchema: validate.schema
'
+
(
it
.
schemaPath
)
+
'
, data:
'
+
(
$data
)
+
'
'
;
}
out
+=
'
}
'
;
}
else
{
out
+=
'
{}
'
;
}
var
__err
=
out
;
out
=
$$outStack
.
pop
();
if
(
!
it
.
compositeRule
&&
$breakOnError
)
{
/* istanbul ignore if */
if
(
it
.
async
)
{
out
+=
'
throw new ValidationError([
'
+
(
__err
)
+
'
]);
'
;
}
else
{
out
+=
'
validate.errors = [
'
+
(
__err
)
+
'
]; return false;
'
;
}
}
else
{
out
+=
'
var err =
'
+
(
__err
)
+
'
; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++;
'
;
}
if
(
$breakOnError
)
{
out
+=
'
if (false) {
'
;
}
}
else
if
(
it
.
opts
.
missingRefs
==
'
ignore
'
)
{
it
.
logger
.
warn
(
$message
);
if
(
$breakOnError
)
{
out
+=
'
if (true) {
'
;
}
}
else
{
throw
new
it
.
MissingRefError
(
it
.
baseId
,
$schema
,
$message
);
}
}
else
if
(
$refVal
.
inline
)
{
var
$it
=
it
.
util
.
copy
(
it
);
$it
.
level
++
;
var
$nextValid
=
'
valid
'
+
$it
.
level
;
$it
.
schema
=
$refVal
.
schema
;
$it
.
schemaPath
=
''
;
$it
.
errSchemaPath
=
$schema
;
var
$code
=
it
.
validate
(
$it
).
replace
(
/validate
\.
schema/g
,
$refVal
.
code
);
out
+=
'
'
+
(
$code
)
+
'
'
;
if
(
$breakOnError
)
{
out
+=
'
if (
'
+
(
$nextValid
)
+
'
) {
'
;
}
}
else
{
$async
=
$refVal
.
$async
===
true
||
(
it
.
async
&&
$refVal
.
$async
!==
false
);
$refCode
=
$refVal
.
code
;
}
}
if
(
$refCode
)
{
var
$$outStack
=
$$outStack
||
[];
$$outStack
.
push
(
out
);
out
=
''
;
if
(
it
.
opts
.
passContext
)
{
out
+=
'
'
+
(
$refCode
)
+
'
.call(this,
'
;
}
else
{
out
+=
'
'
+
(
$refCode
)
+
'
(
'
;
}
out
+=
'
'
+
(
$data
)
+
'
, (dataPath ||
\'\'
)
'
;
if
(
it
.
errorPath
!=
'
""
'
)
{
out
+=
'
+
'
+
(
it
.
errorPath
);
}
var
$parentData
=
$dataLvl
?
'
data
'
+
((
$dataLvl
-
1
)
||
''
)
:
'
parentData
'
,
$parentDataProperty
=
$dataLvl
?
it
.
dataPathArr
[
$dataLvl
]
:
'
parentDataProperty
'
;
out
+=
'
,
'
+
(
$parentData
)
+
'
,
'
+
(
$parentDataProperty
)
+
'
, rootData)
'
;
var
__callValidate
=
out
;
out
=
$$outStack
.
pop
();
if
(
$async
)
{
if
(
!
it
.
async
)
throw
new
Error
(
'
async schema referenced by sync schema
'
);
if
(
$breakOnError
)
{
out
+=
'
var
'
+
(
$valid
)
+
'
;
'
;
}
out
+=
'
try { await
'
+
(
__callValidate
)
+
'
;
'
;
if
(
$breakOnError
)
{
out
+=
'
'
+
(
$valid
)
+
'
= true;
'
;
}
out
+=
'
} catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length;
'
;
if
(
$breakOnError
)
{
out
+=
'
'
+
(
$valid
)
+
'
= false;
'
;
}
out
+=
'
}
'
;
if
(
$breakOnError
)
{
out
+=
'
if (
'
+
(
$valid
)
+
'
) {
'
;
}
}
else
{
out
+=
'
if (!
'
+
(
__callValidate
)
+
'
) { if (vErrors === null) vErrors =
'
+
(
$refCode
)
+
'
.errors; else vErrors = vErrors.concat(
'
+
(
$refCode
)
+
'
.errors); errors = vErrors.length; }
'
;
if
(
$breakOnError
)
{
out
+=
'
else {
'
;
}
}
}
return
out
;
}
node_modules/ajv/lib/dotjs/required.js
0 → 100644
View file @
b807a4c1
'
use strict
'
;
module
.
exports
=
function
generate_required
(
it
,
$keyword
,
$ruleType
)
{
var
out
=
'
'
;
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
$data
=
'
data
'
+
(
$dataLvl
||
''
);
var
$valid
=
'
valid
'
+
$lvl
;
var
$isData
=
it
.
opts
.
$data
&&
$schema
&&
$schema
.
$data
,
$schemaValue
;
if
(
$isData
)
{
out
+=
'
var schema
'
+
(
$lvl
)
+
'
=
'
+
(
it
.
util
.
getData
(
$schema
.
$data
,
$dataLvl
,
it
.
dataPathArr
))
+
'
;
'
;
$schemaValue
=
'
schema
'
+
$lvl
;
}
else
{
$schemaValue
=
$schema
;
}
var
$vSchema
=
'
schema
'
+
$lvl
;
if
(
!
$isData
)
{
if
(
$schema
.
length
<
it
.
opts
.
loopRequired
&&
it
.
schema
.
properties
&&
Object
.
keys
(
it
.
schema
.
properties
).
length
)
{
var
$required
=
[];
var
arr1
=
$schema
;
if
(
arr1
)
{
var
$property
,
i1
=
-
1
,
l1
=
arr1
.
length
-
1
;
while
(
i1
<
l1
)
{
$property
=
arr1
[
i1
+=
1
];
var
$propertySch
=
it
.
schema
.
properties
[
$property
];
if
(
!
(
$propertySch
&&
(
it
.
opts
.
strictKeywords
?
(
typeof
$propertySch
==
'
object
'
&&
Object
.
keys
(
$propertySch
).
length
>
0
)
||
$propertySch
===
false
:
it
.
util
.
schemaHasRules
(
$propertySch
,
it
.
RULES
.
all
))))
{
$required
[
$required
.
length
]
=
$property
;
}
}
}
}
else
{
var
$required
=
$schema
;
}
}
if
(
$isData
||
$required
.
length
)
{
var
$currentErrorPath
=
it
.
errorPath
,
$loopRequired
=
$isData
||
$required
.
length
>=
it
.
opts
.
loopRequired
,
$ownProperties
=
it
.
opts
.
ownProperties
;
if
(
$breakOnError
)
{
out
+=
'
var missing
'
+
(
$lvl
)
+
'
;
'
;
if
(
$loopRequired
)
{
if
(
!
$isData
)
{
out
+=
'
var
'
+
(
$vSchema
)
+
'
= validate.schema
'
+
(
$schemaPath
)
+
'
;
'
;
}
var
$i
=
'
i
'
+
$lvl
,
$propertyPath
=
'
schema
'
+
$lvl
+
'
[
'
+
$i
+
'
]
'
,
$missingProperty
=
'
\'
+
'
+
$propertyPath
+
'
+
\'
'
;
if
(
it
.
opts
.
_errorDataPathProperty
)
{
it
.
errorPath
=
it
.
util
.
getPathExpr
(
$currentErrorPath
,
$propertyPath
,
it
.
opts
.
jsonPointers
);
}
out
+=
'
var
'
+
(
$valid
)
+
'
= true;
'
;
if
(
$isData
)
{
out
+=
'
if (schema
'
+
(
$lvl
)
+
'
=== undefined)
'
+
(
$valid
)
+
'
= true; else if (!Array.isArray(schema
'
+
(
$lvl
)
+
'
))
'
+
(
$valid
)
+
'
= false; else {
'
;
}
out
+=
'
for (var
'
+
(
$i
)
+
'
= 0;
'
+
(
$i
)
+
'
<
'
+
(
$vSchema
)
+
'
.length;
'
+
(
$i
)
+
'
++) {
'
+
(
$valid
)
+
'
=
'
+
(
$data
)
+
'
[
'
+
(
$vSchema
)
+
'
[
'
+
(
$i
)
+
'
]] !== undefined
'
;
if
(
$ownProperties
)
{
out
+=
'
&& Object.prototype.hasOwnProperty.call(
'
+
(
$data
)
+
'
,
'
+
(
$vSchema
)
+
'
[
'
+
(
$i
)
+
'
])
'
;
}
out
+=
'
; if (!
'
+
(
$valid
)
+
'
) break; }
'
;
if
(
$isData
)
{
out
+=
'
}
'
;
}
out
+=
'
if (!
'
+
(
$valid
)
+
'
) {
'
;
var
$$outStack
=
$$outStack
||
[];
$$outStack
.
push
(
out
);
out
=
''
;
/* istanbul ignore else */
if
(
it
.
createErrors
!==
false
)
{
out
+=
'
{ keyword:
\'
'
+
(
'
required
'
)
+
'
\'
, dataPath: (dataPath ||
\'\'
) +
'
+
(
it
.
errorPath
)
+
'
, schemaPath:
'
+
(
it
.
util
.
toQuotedString
(
$errSchemaPath
))
+
'
, params: { missingProperty:
\'
'
+
(
$missingProperty
)
+
'
\'
}
'
;
if
(
it
.
opts
.
messages
!==
false
)
{
out
+=
'
, message:
\'
'
;
if
(
it
.
opts
.
_errorDataPathProperty
)
{
out
+=
'
is a required property
'
;
}
else
{
out
+=
'
should have required property
\\\'
'
+
(
$missingProperty
)
+
'
\\\'
'
;
}
out
+=
'
\'
'
;
}
if
(
it
.
opts
.
verbose
)
{
out
+=
'
, schema: validate.schema
'
+
(
$schemaPath
)
+
'
, parentSchema: validate.schema
'
+
(
it
.
schemaPath
)
+
'
, data:
'
+
(
$data
)
+
'
'
;
}
out
+=
'
}
'
;
}
else
{
out
+=
'
{}
'
;
}
var
__err
=
out
;
out
=
$$outStack
.
pop
();
if
(
!
it
.
compositeRule
&&
$breakOnError
)
{
/* istanbul ignore if */
if
(
it
.
async
)
{
out
+=
'
throw new ValidationError([
'
+
(
__err
)
+
'
]);
'
;
}
else
{
out
+=
'
validate.errors = [
'
+
(
__err
)
+
'
]; return false;
'
;
}
}
else
{
out
+=
'
var err =
'
+
(
__err
)
+
'
; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++;
'
;
}
out
+=
'
} else {
'
;
}
else
{
out
+=
'
if (
'
;
var
arr2
=
$required
;
if
(
arr2
)
{
var
$propertyKey
,
$i
=
-
1
,
l2
=
arr2
.
length
-
1
;
while
(
$i
<
l2
)
{
$propertyKey
=
arr2
[
$i
+=
1
];
if
(
$i
)
{
out
+=
'
||
'
;
}
var
$prop
=
it
.
util
.
getProperty
(
$propertyKey
),
$useData
=
$data
+
$prop
;
out
+=
'
( (
'
+
(
$useData
)
+
'
=== undefined
'
;
if
(
$ownProperties
)
{
out
+=
'
|| ! Object.prototype.hasOwnProperty.call(
'
+
(
$data
)
+
'
,
\'
'
+
(
it
.
util
.
escapeQuotes
(
$propertyKey
))
+
'
\'
)
'
;
}
out
+=
'
) && (missing
'
+
(
$lvl
)
+
'
=
'
+
(
it
.
util
.
toQuotedString
(
it
.
opts
.
jsonPointers
?
$propertyKey
:
$prop
))
+
'
) )
'
;
}
}
out
+=
'
) {
'
;
var
$propertyPath
=
'
missing
'
+
$lvl
,
$missingProperty
=
'
\'
+
'
+
$propertyPath
+
'
+
\'
'
;
if
(
it
.
opts
.
_errorDataPathProperty
)
{
it
.
errorPath
=
it
.
opts
.
jsonPointers
?
it
.
util
.
getPathExpr
(
$currentErrorPath
,
$propertyPath
,
true
)
:
$currentErrorPath
+
'
+
'
+
$propertyPath
;
}
var
$$outStack
=
$$outStack
||
[];
$$outStack
.
push
(
out
);
out
=
''
;
/* istanbul ignore else */
if
(
it
.
createErrors
!==
false
)
{
out
+=
'
{ keyword:
\'
'
+
(
'
required
'
)
+
'
\'
, dataPath: (dataPath ||
\'\'
) +
'
+
(
it
.
errorPath
)
+
'
, schemaPath:
'
+
(
it
.
util
.
toQuotedString
(
$errSchemaPath
))
+
'
, params: { missingProperty:
\'
'
+
(
$missingProperty
)
+
'
\'
}
'
;
if
(
it
.
opts
.
messages
!==
false
)
{
out
+=
'
, message:
\'
'
;
if
(
it
.
opts
.
_errorDataPathProperty
)
{
out
+=
'
is a required property
'
;
}
else
{
out
+=
'
should have required property
\\\'
'
+
(
$missingProperty
)
+
'
\\\'
'
;
}
out
+=
'
\'
'
;
}
if
(
it
.
opts
.
verbose
)
{
out
+=
'
, schema: validate.schema
'
+
(
$schemaPath
)
+
'
, parentSchema: validate.schema
'
+
(
it
.
schemaPath
)
+
'
, data:
'
+
(
$data
)
+
'
'
;
}
out
+=
'
}
'
;
}
else
{
out
+=
'
{}
'
;
}
var
__err
=
out
;
out
=
$$outStack
.
pop
();
if
(
!
it
.
compositeRule
&&
$breakOnError
)
{
/* istanbul ignore if */
if
(
it
.
async
)
{
out
+=
'
throw new ValidationError([
'
+
(
__err
)
+
'
]);
'
;
}
else
{
out
+=
'
validate.errors = [
'
+
(
__err
)
+
'
]; return false;
'
;
}
}
else
{
out
+=
'
var err =
'
+
(
__err
)
+
'
; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++;
'
;
}
out
+=
'
} else {
'
;
}
}
else
{
if
(
$loopRequired
)
{
if
(
!
$isData
)
{
out
+=
'
var
'
+
(
$vSchema
)
+
'
= validate.schema
'
+
(
$schemaPath
)
+
'
;
'
;
}
var
$i
=
'
i
'
+
$lvl
,
$propertyPath
=
'
schema
'
+
$lvl
+
'
[
'
+
$i
+
'
]
'
,
$missingProperty
=
'
\'
+
'
+
$propertyPath
+
'
+
\'
'
;
if
(
it
.
opts
.
_errorDataPathProperty
)
{
it
.
errorPath
=
it
.
util
.
getPathExpr
(
$currentErrorPath
,
$propertyPath
,
it
.
opts
.
jsonPointers
);
}
if
(
$isData
)
{
out
+=
'
if (
'
+
(
$vSchema
)
+
'
&& !Array.isArray(
'
+
(
$vSchema
)
+
'
)) { var err =
'
;
/* istanbul ignore else */
if
(
it
.
createErrors
!==
false
)
{
out
+=
'
{ keyword:
\'
'
+
(
'
required
'
)
+
'
\'
, dataPath: (dataPath ||
\'\'
) +
'
+
(
it
.
errorPath
)
+
'
, schemaPath:
'
+
(
it
.
util
.
toQuotedString
(
$errSchemaPath
))
+
'
, params: { missingProperty:
\'
'
+
(
$missingProperty
)
+
'
\'
}
'
;
if
(
it
.
opts
.
messages
!==
false
)
{
out
+=
'
, message:
\'
'
;
if
(
it
.
opts
.
_errorDataPathProperty
)
{
out
+=
'
is a required property
'
;
}
else
{
out
+=
'
should have required property
\\\'
'
+
(
$missingProperty
)
+
'
\\\'
'
;
}
out
+=
'
\'
'
;
}
if
(
it
.
opts
.
verbose
)
{
out
+=
'
, schema: validate.schema
'
+
(
$schemaPath
)
+
'
, parentSchema: validate.schema
'
+
(
it
.
schemaPath
)
+
'
, data:
'
+
(
$data
)
+
'
'
;
}
out
+=
'
}
'
;
}
else
{
out
+=
'
{}
'
;
}
out
+=
'
; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if (
'
+
(
$vSchema
)
+
'
!== undefined) {
'
;
}
out
+=
'
for (var
'
+
(
$i
)
+
'
= 0;
'
+
(
$i
)
+
'
<
'
+
(
$vSchema
)
+
'
.length;
'
+
(
$i
)
+
'
++) { if (
'
+
(
$data
)
+
'
[
'
+
(
$vSchema
)
+
'
[
'
+
(
$i
)
+
'
]] === undefined
'
;
if
(
$ownProperties
)
{
out
+=
'
|| ! Object.prototype.hasOwnProperty.call(
'
+
(
$data
)
+
'
,
'
+
(
$vSchema
)
+
'
[
'
+
(
$i
)
+
'
])
'
;
}
out
+=
'
) { var err =
'
;
/* istanbul ignore else */
if
(
it
.
createErrors
!==
false
)
{
out
+=
'
{ keyword:
\'
'
+
(
'
required
'
)
+
'
\'
, dataPath: (dataPath ||
\'\'
) +
'
+
(
it
.
errorPath
)
+
'
, schemaPath:
'
+
(
it
.
util
.
toQuotedString
(
$errSchemaPath
))
+
'
, params: { missingProperty:
\'
'
+
(
$missingProperty
)
+
'
\'
}
'
;
if
(
it
.
opts
.
messages
!==
false
)
{
out
+=
'
, message:
\'
'
;
if
(
it
.
opts
.
_errorDataPathProperty
)
{
out
+=
'
is a required property
'
;
}
else
{
out
+=
'
should have required property
\\\'
'
+
(
$missingProperty
)
+
'
\\\'
'
;
}
out
+=
'
\'
'
;
}
if
(
it
.
opts
.
verbose
)
{
out
+=
'
, schema: validate.schema
'
+
(
$schemaPath
)
+
'
, parentSchema: validate.schema
'
+
(
it
.
schemaPath
)
+
'
, data:
'
+
(
$data
)
+
'
'
;
}
out
+=
'
}
'
;
}
else
{
out
+=
'
{}
'
;
}
out
+=
'
; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } }
'
;
if
(
$isData
)
{
out
+=
'
}
'
;
}
}
else
{
var
arr3
=
$required
;
if
(
arr3
)
{
var
$propertyKey
,
i3
=
-
1
,
l3
=
arr3
.
length
-
1
;
while
(
i3
<
l3
)
{
$propertyKey
=
arr3
[
i3
+=
1
];
var
$prop
=
it
.
util
.
getProperty
(
$propertyKey
),
$missingProperty
=
it
.
util
.
escapeQuotes
(
$propertyKey
),
$useData
=
$data
+
$prop
;
if
(
it
.
opts
.
_errorDataPathProperty
)
{
it
.
errorPath
=
it
.
util
.
getPath
(
$currentErrorPath
,
$propertyKey
,
it
.
opts
.
jsonPointers
);
}
out
+=
'
if (
'
+
(
$useData
)
+
'
=== undefined
'
;
if
(
$ownProperties
)
{
out
+=
'
|| ! Object.prototype.hasOwnProperty.call(
'
+
(
$data
)
+
'
,
\'
'
+
(
it
.
util
.
escapeQuotes
(
$propertyKey
))
+
'
\'
)
'
;
}
out
+=
'
) { var err =
'
;
/* istanbul ignore else */
if
(
it
.
createErrors
!==
false
)
{
out
+=
'
{ keyword:
\'
'
+
(
'
required
'
)
+
'
\'
, dataPath: (dataPath ||
\'\'
) +
'
+
(
it
.
errorPath
)
+
'
, schemaPath:
'
+
(
it
.
util
.
toQuotedString
(
$errSchemaPath
))
+
'
, params: { missingProperty:
\'
'
+
(
$missingProperty
)
+
'
\'
}
'
;
if
(
it
.
opts
.
messages
!==
false
)
{
out
+=
'
, message:
\'
'
;
if
(
it
.
opts
.
_errorDataPathProperty
)
{
out
+=
'
is a required property
'
;
}
else
{
out
+=
'
should have required property
\\\'
'
+
(
$missingProperty
)
+
'
\\\'
'
;
}
out
+=
'
\'
'
;
}
if
(
it
.
opts
.
verbose
)
{
out
+=
'
, schema: validate.schema
'
+
(
$schemaPath
)
+
'
, parentSchema: validate.schema
'
+
(
it
.
schemaPath
)
+
'
, data:
'
+
(
$data
)
+
'
'
;
}
out
+=
'
}
'
;
}
else
{
out
+=
'
{}
'
;
}
out
+=
'
; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; }
'
;
}
}
}
}
it
.
errorPath
=
$currentErrorPath
;
}
else
if
(
$breakOnError
)
{
out
+=
'
if (true) {
'
;
}
return
out
;
}
node_modules/ajv/lib/dotjs/uniqueItems.js
0 → 100644
View file @
b807a4c1
'
use strict
'
;
module
.
exports
=
function
generate_uniqueItems
(
it
,
$keyword
,
$ruleType
)
{
var
out
=
'
'
;
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
$data
=
'
data
'
+
(
$dataLvl
||
''
);
var
$valid
=
'
valid
'
+
$lvl
;
var
$isData
=
it
.
opts
.
$data
&&
$schema
&&
$schema
.
$data
,
$schemaValue
;
if
(
$isData
)
{
out
+=
'
var schema
'
+
(
$lvl
)
+
'
=
'
+
(
it
.
util
.
getData
(
$schema
.
$data
,
$dataLvl
,
it
.
dataPathArr
))
+
'
;
'
;
$schemaValue
=
'
schema
'
+
$lvl
;
}
else
{
$schemaValue
=
$schema
;
}
if
((
$schema
||
$isData
)
&&
it
.
opts
.
uniqueItems
!==
false
)
{
if
(
$isData
)
{
out
+=
'
var
'
+
(
$valid
)
+
'
; if (
'
+
(
$schemaValue
)
+
'
=== false ||
'
+
(
$schemaValue
)
+
'
=== undefined)
'
+
(
$valid
)
+
'
= true; else if (typeof
'
+
(
$schemaValue
)
+
'
!=
\'
boolean
\'
)
'
+
(
$valid
)
+
'
= false; else {
'
;
}
out
+=
'
var i =
'
+
(
$data
)
+
'
.length ,
'
+
(
$valid
)
+
'
= true , j; if (i > 1) {
'
;
var
$itemType
=
it
.
schema
.
items
&&
it
.
schema
.
items
.
type
,
$typeIsArray
=
Array
.
isArray
(
$itemType
);
if
(
!
$itemType
||
$itemType
==
'
object
'
||
$itemType
==
'
array
'
||
(
$typeIsArray
&&
(
$itemType
.
indexOf
(
'
object
'
)
>=
0
||
$itemType
.
indexOf
(
'
array
'
)
>=
0
)))
{
out
+=
'
outer: for (;i--;) { for (j = i; j--;) { if (equal(
'
+
(
$data
)
+
'
[i],
'
+
(
$data
)
+
'
[j])) {
'
+
(
$valid
)
+
'
= false; break outer; } } }
'
;
}
else
{
out
+=
'
var itemIndices = {}, item; for (;i--;) { var item =
'
+
(
$data
)
+
'
[i];
'
;
var
$method
=
'
checkDataType
'
+
(
$typeIsArray
?
'
s
'
:
''
);
out
+=
'
if (
'
+
(
it
.
util
[
$method
](
$itemType
,
'
item
'
,
it
.
opts
.
strictNumbers
,
true
))
+
'
) continue;
'
;
if
(
$typeIsArray
)
{
out
+=
'
if (typeof item ==
\'
string
\'
) item =
\'
"
\'
+ item;
'
;
}
out
+=
'
if (typeof itemIndices[item] ==
\'
number
\'
) {
'
+
(
$valid
)
+
'
= false; j = itemIndices[item]; break; } itemIndices[item] = i; }
'
;
}
out
+=
'
}
'
;
if
(
$isData
)
{
out
+=
'
}
'
;
}
out
+=
'
if (!
'
+
(
$valid
)
+
'
) {
'
;
var
$$outStack
=
$$outStack
||
[];
$$outStack
.
push
(
out
);
out
=
''
;
/* istanbul ignore else */
if
(
it
.
createErrors
!==
false
)
{
out
+=
'
{ keyword:
\'
'
+
(
'
uniqueItems
'
)
+
'
\'
, dataPath: (dataPath ||
\'\'
) +
'
+
(
it
.
errorPath
)
+
'
, schemaPath:
'
+
(
it
.
util
.
toQuotedString
(
$errSchemaPath
))
+
'
, params: { i: i, j: j }
'
;
if
(
it
.
opts
.
messages
!==
false
)
{
out
+=
'
, message:
\'
should NOT have duplicate items (items ##
\'
+ j +
\'
and
\'
+ i +
\'
are identical)
\'
'
;
}
if
(
it
.
opts
.
verbose
)
{
out
+=
'
, schema:
'
;
if
(
$isData
)
{
out
+=
'
validate.schema
'
+
(
$schemaPath
);
}
else
{
out
+=
''
+
(
$schema
);
}
out
+=
'
, parentSchema: validate.schema
'
+
(
it
.
schemaPath
)
+
'
, data:
'
+
(
$data
)
+
'
'
;
}
out
+=
'
}
'
;
}
else
{
out
+=
'
{}
'
;
}
var
__err
=
out
;
out
=
$$outStack
.
pop
();
if
(
!
it
.
compositeRule
&&
$breakOnError
)
{
/* istanbul ignore if */
if
(
it
.
async
)
{
out
+=
'
throw new ValidationError([
'
+
(
__err
)
+
'
]);
'
;
}
else
{
out
+=
'
validate.errors = [
'
+
(
__err
)
+
'
]; return false;
'
;
}
}
else
{
out
+=
'
var err =
'
+
(
__err
)
+
'
; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++;
'
;
}
out
+=
'
}
'
;
if
(
$breakOnError
)
{
out
+=
'
else {
'
;
}
}
else
{
if
(
$breakOnError
)
{
out
+=
'
if (true) {
'
;
}
}
return
out
;
}
node_modules/ajv/lib/dotjs/validate.js
0 → 100644
View file @
b807a4c1
'
use strict
'
;
module
.
exports
=
function
generate_validate
(
it
,
$keyword
,
$ruleType
)
{
var
out
=
''
;
var
$async
=
it
.
schema
.
$async
===
true
,
$refKeywords
=
it
.
util
.
schemaHasRulesExcept
(
it
.
schema
,
it
.
RULES
.
all
,
'
$ref
'
),
$id
=
it
.
self
.
_getId
(
it
.
schema
);
if
(
it
.
opts
.
strictKeywords
)
{
var
$unknownKwd
=
it
.
util
.
schemaUnknownRules
(
it
.
schema
,
it
.
RULES
.
keywords
);
if
(
$unknownKwd
)
{
var
$keywordsMsg
=
'
unknown keyword:
'
+
$unknownKwd
;
if
(
it
.
opts
.
strictKeywords
===
'
log
'
)
it
.
logger
.
warn
(
$keywordsMsg
);
else
throw
new
Error
(
$keywordsMsg
);
}
}
if
(
it
.
isTop
)
{
out
+=
'
var validate =
'
;
if
(
$async
)
{
it
.
async
=
true
;
out
+=
'
async
'
;
}
out
+=
'
function(data, dataPath, parentData, parentDataProperty, rootData) {
\'
use strict
\'
;
'
;
if
(
$id
&&
(
it
.
opts
.
sourceCode
||
it
.
opts
.
processCode
))
{
out
+=
'
'
+
(
'
/
\
*# sourceURL=
'
+
$id
+
'
*/
'
)
+
'
'
;
}
}
if
(
typeof
it
.
schema
==
'
boolean
'
||
!
(
$refKeywords
||
it
.
schema
.
$ref
))
{
var
$keyword
=
'
false schema
'
;
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
;
if
(
it
.
schema
===
false
)
{
if
(
it
.
isTop
)
{
$breakOnError
=
true
;
}
else
{
out
+=
'
var
'
+
(
$valid
)
+
'
= false;
'
;
}
var
$$outStack
=
$$outStack
||
[];
$$outStack
.
push
(
out
);
out
=
''
;
/* istanbul ignore else */
if
(
it
.
createErrors
!==
false
)
{
out
+=
'
{ keyword:
\'
'
+
(
$errorKeyword
||
'
false schema
'
)
+
'
\'
, dataPath: (dataPath ||
\'\'
) +
'
+
(
it
.
errorPath
)
+
'
, schemaPath:
'
+
(
it
.
util
.
toQuotedString
(
$errSchemaPath
))
+
'
, params: {}
'
;
if
(
it
.
opts
.
messages
!==
false
)
{
out
+=
'
, message:
\'
boolean schema is false
\'
'
;
}
if
(
it
.
opts
.
verbose
)
{
out
+=
'
, schema: false , parentSchema: validate.schema
'
+
(
it
.
schemaPath
)
+
'
, data:
'
+
(
$data
)
+
'
'
;
}
out
+=
'
}
'
;
}
else
{
out
+=
'
{}
'
;
}
var
__err
=
out
;
out
=
$$outStack
.
pop
();
if
(
!
it
.
compositeRule
&&
$breakOnError
)
{
/* istanbul ignore if */
if
(
it
.
async
)
{
out
+=
'
throw new ValidationError([
'
+
(
__err
)
+
'
]);
'
;
}
else
{
out
+=
'
validate.errors = [
'
+
(
__err
)
+
'
]; return false;
'
;
}
}
else
{
out
+=
'
var err =
'
+
(
__err
)
+
'
; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++;
'
;
}
}
else
{
if
(
it
.
isTop
)
{
if
(
$async
)
{
out
+=
'
return data;
'
;
}
else
{
out
+=
'
validate.errors = null; return true;
'
;
}
}
else
{
out
+=
'
var
'
+
(
$valid
)
+
'
= true;
'
;
}
}
if
(
it
.
isTop
)
{
out
+=
'
}; return validate;
'
;
}
return
out
;
}
if
(
it
.
isTop
)
{
var
$top
=
it
.
isTop
,
$lvl
=
it
.
level
=
0
,
$dataLvl
=
it
.
dataLevel
=
0
,
$data
=
'
data
'
;
it
.
rootId
=
it
.
resolve
.
fullPath
(
it
.
self
.
_getId
(
it
.
root
.
schema
));
it
.
baseId
=
it
.
baseId
||
it
.
rootId
;
delete
it
.
isTop
;
it
.
dataPathArr
=
[
""
];
if
(
it
.
schema
.
default
!==
undefined
&&
it
.
opts
.
useDefaults
&&
it
.
opts
.
strictDefaults
)
{
var
$defaultMsg
=
'
default is ignored in the schema root
'
;
if
(
it
.
opts
.
strictDefaults
===
'
log
'
)
it
.
logger
.
warn
(
$defaultMsg
);
else
throw
new
Error
(
$defaultMsg
);
}
out
+=
'
var vErrors = null;
'
;
out
+=
'
var errors = 0;
'
;
out
+=
'
if (rootData === undefined) rootData = data;
'
;
}
else
{
var
$lvl
=
it
.
level
,
$dataLvl
=
it
.
dataLevel
,
$data
=
'
data
'
+
(
$dataLvl
||
''
);
if
(
$id
)
it
.
baseId
=
it
.
resolve
.
url
(
it
.
baseId
,
$id
);
if
(
$async
&&
!
it
.
async
)
throw
new
Error
(
'
async schema in sync schema
'
);
out
+=
'
var errs_
'
+
(
$lvl
)
+
'
= errors;
'
;
}
var
$valid
=
'
valid
'
+
$lvl
,
$breakOnError
=
!
it
.
opts
.
allErrors
,
$closingBraces1
=
''
,
$closingBraces2
=
''
;
var
$errorKeyword
;
var
$typeSchema
=
it
.
schema
.
type
,
$typeIsArray
=
Array
.
isArray
(
$typeSchema
);
if
(
$typeSchema
&&
it
.
opts
.
nullable
&&
it
.
schema
.
nullable
===
true
)
{
if
(
$typeIsArray
)
{
if
(
$typeSchema
.
indexOf
(
'
null
'
)
==
-
1
)
$typeSchema
=
$typeSchema
.
concat
(
'
null
'
);
}
else
if
(
$typeSchema
!=
'
null
'
)
{
$typeSchema
=
[
$typeSchema
,
'
null
'
];
$typeIsArray
=
true
;
}
}
if
(
$typeIsArray
&&
$typeSchema
.
length
==
1
)
{
$typeSchema
=
$typeSchema
[
0
];
$typeIsArray
=
false
;
}
if
(
it
.
schema
.
$ref
&&
$refKeywords
)
{
if
(
it
.
opts
.
extendRefs
==
'
fail
'
)
{
throw
new
Error
(
'
$ref: validation keywords used in schema at path "
'
+
it
.
errSchemaPath
+
'
" (see option extendRefs)
'
);
}
else
if
(
it
.
opts
.
extendRefs
!==
true
)
{
$refKeywords
=
false
;
it
.
logger
.
warn
(
'
$ref: keywords ignored in schema at path "
'
+
it
.
errSchemaPath
+
'
"
'
);
}
}
if
(
it
.
schema
.
$comment
&&
it
.
opts
.
$comment
)
{
out
+=
'
'
+
(
it
.
RULES
.
all
.
$comment
.
code
(
it
,
'
$comment
'
));
}
if
(
$typeSchema
)
{
if
(
it
.
opts
.
coerceTypes
)
{
var
$coerceToTypes
=
it
.
util
.
coerceToTypes
(
it
.
opts
.
coerceTypes
,
$typeSchema
);
}
var
$rulesGroup
=
it
.
RULES
.
types
[
$typeSchema
];
if
(
$coerceToTypes
||
$typeIsArray
||
$rulesGroup
===
true
||
(
$rulesGroup
&&
!
$shouldUseGroup
(
$rulesGroup
)))
{
var
$schemaPath
=
it
.
schemaPath
+
'
.type
'
,
$errSchemaPath
=
it
.
errSchemaPath
+
'
/type
'
;
var
$schemaPath
=
it
.
schemaPath
+
'
.type
'
,
$errSchemaPath
=
it
.
errSchemaPath
+
'
/type
'
,
$method
=
$typeIsArray
?
'
checkDataTypes
'
:
'
checkDataType
'
;
out
+=
'
if (
'
+
(
it
.
util
[
$method
](
$typeSchema
,
$data
,
it
.
opts
.
strictNumbers
,
true
))
+
'
) {
'
;
if
(
$coerceToTypes
)
{
var
$dataType
=
'
dataType
'
+
$lvl
,
$coerced
=
'
coerced
'
+
$lvl
;
out
+=
'
var
'
+
(
$dataType
)
+
'
= typeof
'
+
(
$data
)
+
'
; var
'
+
(
$coerced
)
+
'
= undefined;
'
;
if
(
it
.
opts
.
coerceTypes
==
'
array
'
)
{
out
+=
'
if (
'
+
(
$dataType
)
+
'
==
\'
object
\'
&& Array.isArray(
'
+
(
$data
)
+
'
) &&
'
+
(
$data
)
+
'
.length == 1) {
'
+
(
$data
)
+
'
=
'
+
(
$data
)
+
'
[0];
'
+
(
$dataType
)
+
'
= typeof
'
+
(
$data
)
+
'
; if (
'
+
(
it
.
util
.
checkDataType
(
it
.
schema
.
type
,
$data
,
it
.
opts
.
strictNumbers
))
+
'
)
'
+
(
$coerced
)
+
'
=
'
+
(
$data
)
+
'
; }
'
;
}
out
+=
'
if (
'
+
(
$coerced
)
+
'
!== undefined) ;
'
;
var
arr1
=
$coerceToTypes
;
if
(
arr1
)
{
var
$type
,
$i
=
-
1
,
l1
=
arr1
.
length
-
1
;
while
(
$i
<
l1
)
{
$type
=
arr1
[
$i
+=
1
];
if
(
$type
==
'
string
'
)
{
out
+=
'
else if (
'
+
(
$dataType
)
+
'
==
\'
number
\'
||
'
+
(
$dataType
)
+
'
==
\'
boolean
\'
)
'
+
(
$coerced
)
+
'
=
\'\'
+
'
+
(
$data
)
+
'
; else if (
'
+
(
$data
)
+
'
=== null)
'
+
(
$coerced
)
+
'
=
\'\'
;
'
;
}
else
if
(
$type
==
'
number
'
||
$type
==
'
integer
'
)
{
out
+=
'
else if (
'
+
(
$dataType
)
+
'
==
\'
boolean
\'
||
'
+
(
$data
)
+
'
=== null || (
'
+
(
$dataType
)
+
'
==
\'
string
\'
&&
'
+
(
$data
)
+
'
&&
'
+
(
$data
)
+
'
== +
'
+
(
$data
)
+
'
'
;
if
(
$type
==
'
integer
'
)
{
out
+=
'
&& !(
'
+
(
$data
)
+
'
% 1)
'
;
}
out
+=
'
))
'
+
(
$coerced
)
+
'
= +
'
+
(
$data
)
+
'
;
'
;
}
else
if
(
$type
==
'
boolean
'
)
{
out
+=
'
else if (
'
+
(
$data
)
+
'
===
\'
false
\'
||
'
+
(
$data
)
+
'
=== 0 ||
'
+
(
$data
)
+
'
=== null)
'
+
(
$coerced
)
+
'
= false; else if (
'
+
(
$data
)
+
'
===
\'
true
\'
||
'
+
(
$data
)
+
'
=== 1)
'
+
(
$coerced
)
+
'
= true;
'
;
}
else
if
(
$type
==
'
null
'
)
{
out
+=
'
else if (
'
+
(
$data
)
+
'
===
\'\'
||
'
+
(
$data
)
+
'
=== 0 ||
'
+
(
$data
)
+
'
=== false)
'
+
(
$coerced
)
+
'
= null;
'
;
}
else
if
(
it
.
opts
.
coerceTypes
==
'
array
'
&&
$type
==
'
array
'
)
{
out
+=
'
else if (
'
+
(
$dataType
)
+
'
==
\'
string
\'
||
'
+
(
$dataType
)
+
'
==
\'
number
\'
||
'
+
(
$dataType
)
+
'
==
\'
boolean
\'
||
'
+
(
$data
)
+
'
== null)
'
+
(
$coerced
)
+
'
= [
'
+
(
$data
)
+
'
];
'
;
}
}
}
out
+=
'
else {
'
;
var
$$outStack
=
$$outStack
||
[];
$$outStack
.
push
(
out
);
out
=
''
;
/* istanbul ignore else */
if
(
it
.
createErrors
!==
false
)
{
out
+=
'
{ keyword:
\'
'
+
(
$errorKeyword
||
'
type
'
)
+
'
\'
, dataPath: (dataPath ||
\'\'
) +
'
+
(
it
.
errorPath
)
+
'
, schemaPath:
'
+
(
it
.
util
.
toQuotedString
(
$errSchemaPath
))
+
'
, params: { type:
\'
'
;
if
(
$typeIsArray
)
{
out
+=
''
+
(
$typeSchema
.
join
(
"
,
"
));
}
else
{
out
+=
''
+
(
$typeSchema
);
}
out
+=
'
\'
}
'
;
if
(
it
.
opts
.
messages
!==
false
)
{
out
+=
'
, message:
\'
should be
'
;
if
(
$typeIsArray
)
{
out
+=
''
+
(
$typeSchema
.
join
(
"
,
"
));
}
else
{
out
+=
''
+
(
$typeSchema
);
}
out
+=
'
\'
'
;
}
if
(
it
.
opts
.
verbose
)
{
out
+=
'
, schema: validate.schema
'
+
(
$schemaPath
)
+
'
, parentSchema: validate.schema
'
+
(
it
.
schemaPath
)
+
'
, data:
'
+
(
$data
)
+
'
'
;
}
out
+=
'
}
'
;
}
else
{
out
+=
'
{}
'
;
}
var
__err
=
out
;
out
=
$$outStack
.
pop
();
if
(
!
it
.
compositeRule
&&
$breakOnError
)
{
/* istanbul ignore if */
if
(
it
.
async
)
{
out
+=
'
throw new ValidationError([
'
+
(
__err
)
+
'
]);
'
;
}
else
{
out
+=
'
validate.errors = [
'
+
(
__err
)
+
'
]; return false;
'
;
}
}
else
{
out
+=
'
var err =
'
+
(
__err
)
+
'
; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++;
'
;
}
out
+=
'
} if (
'
+
(
$coerced
)
+
'
!== undefined) {
'
;
var
$parentData
=
$dataLvl
?
'
data
'
+
((
$dataLvl
-
1
)
||
''
)
:
'
parentData
'
,
$parentDataProperty
=
$dataLvl
?
it
.
dataPathArr
[
$dataLvl
]
:
'
parentDataProperty
'
;
out
+=
'
'
+
(
$data
)
+
'
=
'
+
(
$coerced
)
+
'
;
'
;
if
(
!
$dataLvl
)
{
out
+=
'
if (
'
+
(
$parentData
)
+
'
!== undefined)
'
;
}
out
+=
'
'
+
(
$parentData
)
+
'
[
'
+
(
$parentDataProperty
)
+
'
] =
'
+
(
$coerced
)
+
'
; }
'
;
}
else
{
var
$$outStack
=
$$outStack
||
[];
$$outStack
.
push
(
out
);
out
=
''
;
/* istanbul ignore else */
if
(
it
.
createErrors
!==
false
)
{
out
+=
'
{ keyword:
\'
'
+
(
$errorKeyword
||
'
type
'
)
+
'
\'
, dataPath: (dataPath ||
\'\'
) +
'
+
(
it
.
errorPath
)
+
'
, schemaPath:
'
+
(
it
.
util
.
toQuotedString
(
$errSchemaPath
))
+
'
, params: { type:
\'
'
;
if
(
$typeIsArray
)
{
out
+=
''
+
(
$typeSchema
.
join
(
"
,
"
));
}
else
{
out
+=
''
+
(
$typeSchema
);
}
out
+=
'
\'
}
'
;
if
(
it
.
opts
.
messages
!==
false
)
{
out
+=
'
, message:
\'
should be
'
;
if
(
$typeIsArray
)
{
out
+=
''
+
(
$typeSchema
.
join
(
"
,
"
));
}
else
{
out
+=
''
+
(
$typeSchema
);
}
out
+=
'
\'
'
;
}
if
(
it
.
opts
.
verbose
)
{
out
+=
'
, schema: validate.schema
'
+
(
$schemaPath
)
+
'
, parentSchema: validate.schema
'
+
(
it
.
schemaPath
)
+
'
, data:
'
+
(
$data
)
+
'
'
;
}
out
+=
'
}
'
;
}
else
{
out
+=
'
{}
'
;
}
var
__err
=
out
;
out
=
$$outStack
.
pop
();
if
(
!
it
.
compositeRule
&&
$breakOnError
)
{
/* istanbul ignore if */
if
(
it
.
async
)
{
out
+=
'
throw new ValidationError([
'
+
(
__err
)
+
'
]);
'
;
}
else
{
out
+=
'
validate.errors = [
'
+
(
__err
)
+
'
]; return false;
'
;
}
}
else
{
out
+=
'
var err =
'
+
(
__err
)
+
'
; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++;
'
;
}
}
out
+=
'
}
'
;
}
}
if
(
it
.
schema
.
$ref
&&
!
$refKeywords
)
{
out
+=
'
'
+
(
it
.
RULES
.
all
.
$ref
.
code
(
it
,
'
$ref
'
))
+
'
'
;
if
(
$breakOnError
)
{
out
+=
'
} if (errors ===
'
;
if
(
$top
)
{
out
+=
'
0
'
;
}
else
{
out
+=
'
errs_
'
+
(
$lvl
);
}
out
+=
'
) {
'
;
$closingBraces2
+=
'
}
'
;
}
}
else
{
var
arr2
=
it
.
RULES
;
if
(
arr2
)
{
var
$rulesGroup
,
i2
=
-
1
,
l2
=
arr2
.
length
-
1
;
while
(
i2
<
l2
)
{
$rulesGroup
=
arr2
[
i2
+=
1
];
if
(
$shouldUseGroup
(
$rulesGroup
))
{
if
(
$rulesGroup
.
type
)
{
out
+=
'
if (
'
+
(
it
.
util
.
checkDataType
(
$rulesGroup
.
type
,
$data
,
it
.
opts
.
strictNumbers
))
+
'
) {
'
;
}
if
(
it
.
opts
.
useDefaults
)
{
if
(
$rulesGroup
.
type
==
'
object
'
&&
it
.
schema
.
properties
)
{
var
$schema
=
it
.
schema
.
properties
,
$schemaKeys
=
Object
.
keys
(
$schema
);
var
arr3
=
$schemaKeys
;
if
(
arr3
)
{
var
$propertyKey
,
i3
=
-
1
,
l3
=
arr3
.
length
-
1
;
while
(
i3
<
l3
)
{
$propertyKey
=
arr3
[
i3
+=
1
];
var
$sch
=
$schema
[
$propertyKey
];
if
(
$sch
.
default
!==
undefined
)
{
var
$passData
=
$data
+
it
.
util
.
getProperty
(
$propertyKey
);
if
(
it
.
compositeRule
)
{
if
(
it
.
opts
.
strictDefaults
)
{
var
$defaultMsg
=
'
default is ignored for:
'
+
$passData
;
if
(
it
.
opts
.
strictDefaults
===
'
log
'
)
it
.
logger
.
warn
(
$defaultMsg
);
else
throw
new
Error
(
$defaultMsg
);
}
}
else
{
out
+=
'
if (
'
+
(
$passData
)
+
'
=== undefined
'
;
if
(
it
.
opts
.
useDefaults
==
'
empty
'
)
{
out
+=
'
||
'
+
(
$passData
)
+
'
=== null ||
'
+
(
$passData
)
+
'
===
\'\'
'
;
}
out
+=
'
)
'
+
(
$passData
)
+
'
=
'
;
if
(
it
.
opts
.
useDefaults
==
'
shared
'
)
{
out
+=
'
'
+
(
it
.
useDefault
(
$sch
.
default
))
+
'
'
;
}
else
{
out
+=
'
'
+
(
JSON
.
stringify
(
$sch
.
default
))
+
'
'
;
}
out
+=
'
;
'
;
}
}
}
}
}
else
if
(
$rulesGroup
.
type
==
'
array
'
&&
Array
.
isArray
(
it
.
schema
.
items
))
{
var
arr4
=
it
.
schema
.
items
;
if
(
arr4
)
{
var
$sch
,
$i
=
-
1
,
l4
=
arr4
.
length
-
1
;
while
(
$i
<
l4
)
{
$sch
=
arr4
[
$i
+=
1
];
if
(
$sch
.
default
!==
undefined
)
{
var
$passData
=
$data
+
'
[
'
+
$i
+
'
]
'
;
if
(
it
.
compositeRule
)
{
if
(
it
.
opts
.
strictDefaults
)
{
var
$defaultMsg
=
'
default is ignored for:
'
+
$passData
;
if
(
it
.
opts
.
strictDefaults
===
'
log
'
)
it
.
logger
.
warn
(
$defaultMsg
);
else
throw
new
Error
(
$defaultMsg
);
}
}
else
{
out
+=
'
if (
'
+
(
$passData
)
+
'
=== undefined
'
;
if
(
it
.
opts
.
useDefaults
==
'
empty
'
)
{
out
+=
'
||
'
+
(
$passData
)
+
'
=== null ||
'
+
(
$passData
)
+
'
===
\'\'
'
;
}
out
+=
'
)
'
+
(
$passData
)
+
'
=
'
;
if
(
it
.
opts
.
useDefaults
==
'
shared
'
)
{
out
+=
'
'
+
(
it
.
useDefault
(
$sch
.
default
))
+
'
'
;
}
else
{
out
+=
'
'
+
(
JSON
.
stringify
(
$sch
.
default
))
+
'
'
;
}
out
+=
'
;
'
;
}
}
}
}
}
}
var
arr5
=
$rulesGroup
.
rules
;
if
(
arr5
)
{
var
$rule
,
i5
=
-
1
,
l5
=
arr5
.
length
-
1
;
while
(
i5
<
l5
)
{
$rule
=
arr5
[
i5
+=
1
];
if
(
$shouldUseRule
(
$rule
))
{
var
$code
=
$rule
.
code
(
it
,
$rule
.
keyword
,
$rulesGroup
.
type
);
if
(
$code
)
{
out
+=
'
'
+
(
$code
)
+
'
'
;
if
(
$breakOnError
)
{
$closingBraces1
+=
'
}
'
;
}
}
}
}
}
if
(
$breakOnError
)
{
out
+=
'
'
+
(
$closingBraces1
)
+
'
'
;
$closingBraces1
=
''
;
}
if
(
$rulesGroup
.
type
)
{
out
+=
'
}
'
;
if
(
$typeSchema
&&
$typeSchema
===
$rulesGroup
.
type
&&
!
$coerceToTypes
)
{
out
+=
'
else {
'
;
var
$schemaPath
=
it
.
schemaPath
+
'
.type
'
,
$errSchemaPath
=
it
.
errSchemaPath
+
'
/type
'
;
var
$$outStack
=
$$outStack
||
[];
$$outStack
.
push
(
out
);
out
=
''
;
/* istanbul ignore else */
if
(
it
.
createErrors
!==
false
)
{
out
+=
'
{ keyword:
\'
'
+
(
$errorKeyword
||
'
type
'
)
+
'
\'
, dataPath: (dataPath ||
\'\'
) +
'
+
(
it
.
errorPath
)
+
'
, schemaPath:
'
+
(
it
.
util
.
toQuotedString
(
$errSchemaPath
))
+
'
, params: { type:
\'
'
;
if
(
$typeIsArray
)
{
out
+=
''
+
(
$typeSchema
.
join
(
"
,
"
));
}
else
{
out
+=
''
+
(
$typeSchema
);
}
out
+=
'
\'
}
'
;
if
(
it
.
opts
.
messages
!==
false
)
{
out
+=
'
, message:
\'
should be
'
;
if
(
$typeIsArray
)
{
out
+=
''
+
(
$typeSchema
.
join
(
"
,
"
));
}
else
{
out
+=
''
+
(
$typeSchema
);
}
out
+=
'
\'
'
;
}
if
(
it
.
opts
.
verbose
)
{
out
+=
'
, schema: validate.schema
'
+
(
$schemaPath
)
+
'
, parentSchema: validate.schema
'
+
(
it
.
schemaPath
)
+
'
, data:
'
+
(
$data
)
+
'
'
;
}
out
+=
'
}
'
;
}
else
{
out
+=
'
{}
'
;
}
var
__err
=
out
;
out
=
$$outStack
.
pop
();
if
(
!
it
.
compositeRule
&&
$breakOnError
)
{
/* istanbul ignore if */
if
(
it
.
async
)
{
out
+=
'
throw new ValidationError([
'
+
(
__err
)
+
'
]);
'
;
}
else
{
out
+=
'
validate.errors = [
'
+
(
__err
)
+
'
]; return false;
'
;
}
}
else
{
out
+=
'
var err =
'
+
(
__err
)
+
'
; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++;
'
;
}
out
+=
'
}
'
;
}
}
if
(
$breakOnError
)
{
out
+=
'
if (errors ===
'
;
if
(
$top
)
{
out
+=
'
0
'
;
}
else
{
out
+=
'
errs_
'
+
(
$lvl
);
}
out
+=
'
) {
'
;
$closingBraces2
+=
'
}
'
;
}
}
}
}
}
if
(
$breakOnError
)
{
out
+=
'
'
+
(
$closingBraces2
)
+
'
'
;
}
if
(
$top
)
{
if
(
$async
)
{
out
+=
'
if (errors === 0) return data;
'
;
out
+=
'
else throw new ValidationError(vErrors);
'
;
}
else
{
out
+=
'
validate.errors = vErrors;
'
;
out
+=
'
return errors === 0;
'
;
}
out
+=
'
}; return validate;
'
;
}
else
{
out
+=
'
var
'
+
(
$valid
)
+
'
= errors === errs_
'
+
(
$lvl
)
+
'
;
'
;
}
function
$shouldUseGroup
(
$rulesGroup
)
{
var
rules
=
$rulesGroup
.
rules
;
for
(
var
i
=
0
;
i
<
rules
.
length
;
i
++
)
if
(
$shouldUseRule
(
rules
[
i
]))
return
true
;
}
function
$shouldUseRule
(
$rule
)
{
return
it
.
schema
[
$rule
.
keyword
]
!==
undefined
||
(
$rule
.
implements
&&
$ruleImplementsSomeKeyword
(
$rule
));
}
function
$ruleImplementsSomeKeyword
(
$rule
)
{
var
impl
=
$rule
.
implements
;
for
(
var
i
=
0
;
i
<
impl
.
length
;
i
++
)
if
(
it
.
schema
[
impl
[
i
]]
!==
undefined
)
return
true
;
}
return
out
;
}
node_modules/ajv/lib/keyword.js
0 → 100644
View file @
b807a4c1
'
use strict
'
;
var
IDENTIFIER
=
/^
[
a-z_$
][
a-z0-9_$-
]
*$/i
;
var
customRuleCode
=
require
(
'
./dotjs/custom
'
);
var
definitionSchema
=
require
(
'
./definition_schema
'
);
module
.
exports
=
{
add
:
addKeyword
,
get
:
getKeyword
,
remove
:
removeKeyword
,
validate
:
validateKeyword
};
/**
* Define custom keyword
* @this Ajv
* @param {String} keyword custom keyword, should be unique (including different from all standard, custom and macro keywords).
* @param {Object} definition keyword definition object with properties `type` (type(s) which the keyword applies to), `validate` or `compile`.
* @return {Ajv} this for method chaining
*/
function
addKeyword
(
keyword
,
definition
)
{
/* jshint validthis: true */
/* eslint no-shadow: 0 */
var
RULES
=
this
.
RULES
;
if
(
RULES
.
keywords
[
keyword
])
throw
new
Error
(
'
Keyword
'
+
keyword
+
'
is already defined
'
);
if
(
!
IDENTIFIER
.
test
(
keyword
))
throw
new
Error
(
'
Keyword
'
+
keyword
+
'
is not a valid identifier
'
);
if
(
definition
)
{
this
.
validateKeyword
(
definition
,
true
);
var
dataType
=
definition
.
type
;
if
(
Array
.
isArray
(
dataType
))
{
for
(
var
i
=
0
;
i
<
dataType
.
length
;
i
++
)
_addRule
(
keyword
,
dataType
[
i
],
definition
);
}
else
{
_addRule
(
keyword
,
dataType
,
definition
);
}
var
metaSchema
=
definition
.
metaSchema
;
if
(
metaSchema
)
{
if
(
definition
.
$data
&&
this
.
_opts
.
$data
)
{
metaSchema
=
{
anyOf
:
[
metaSchema
,
{
'
$ref
'
:
'
https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#
'
}
]
};
}
definition
.
validateSchema
=
this
.
compile
(
metaSchema
,
true
);
}
}
RULES
.
keywords
[
keyword
]
=
RULES
.
all
[
keyword
]
=
true
;
function
_addRule
(
keyword
,
dataType
,
definition
)
{
var
ruleGroup
;
for
(
var
i
=
0
;
i
<
RULES
.
length
;
i
++
)
{
var
rg
=
RULES
[
i
];
if
(
rg
.
type
==
dataType
)
{
ruleGroup
=
rg
;
break
;
}
}
if
(
!
ruleGroup
)
{
ruleGroup
=
{
type
:
dataType
,
rules
:
[]
};
RULES
.
push
(
ruleGroup
);
}
var
rule
=
{
keyword
:
keyword
,
definition
:
definition
,
custom
:
true
,
code
:
customRuleCode
,
implements
:
definition
.
implements
};
ruleGroup
.
rules
.
push
(
rule
);
RULES
.
custom
[
keyword
]
=
rule
;
}
return
this
;
}
/**
* Get keyword
* @this Ajv
* @param {String} keyword pre-defined or custom keyword.
* @return {Object|Boolean} custom keyword definition, `true` if it is a predefined keyword, `false` otherwise.
*/
function
getKeyword
(
keyword
)
{
/* jshint validthis: true */
var
rule
=
this
.
RULES
.
custom
[
keyword
];
return
rule
?
rule
.
definition
:
this
.
RULES
.
keywords
[
keyword
]
||
false
;
}
/**
* Remove keyword
* @this Ajv
* @param {String} keyword pre-defined or custom keyword.
* @return {Ajv} this for method chaining
*/
function
removeKeyword
(
keyword
)
{
/* jshint validthis: true */
var
RULES
=
this
.
RULES
;
delete
RULES
.
keywords
[
keyword
];
delete
RULES
.
all
[
keyword
];
delete
RULES
.
custom
[
keyword
];
for
(
var
i
=
0
;
i
<
RULES
.
length
;
i
++
)
{
var
rules
=
RULES
[
i
].
rules
;
for
(
var
j
=
0
;
j
<
rules
.
length
;
j
++
)
{
if
(
rules
[
j
].
keyword
==
keyword
)
{
rules
.
splice
(
j
,
1
);
break
;
}
}
}
return
this
;
}
/**
* Validate keyword definition
* @this Ajv
* @param {Object} definition keyword definition object.
* @param {Boolean} throwError true to throw exception if definition is invalid
* @return {boolean} validation result
*/
function
validateKeyword
(
definition
,
throwError
)
{
validateKeyword
.
errors
=
null
;
var
v
=
this
.
_validateKeyword
=
this
.
_validateKeyword
||
this
.
compile
(
definitionSchema
,
true
);
if
(
v
(
definition
))
return
true
;
validateKeyword
.
errors
=
v
.
errors
;
if
(
throwError
)
throw
new
Error
(
'
custom keyword definition is invalid:
'
+
this
.
errorsText
(
v
.
errors
));
else
return
false
;
}
node_modules/ajv/lib/refs/data.json
0 → 100644
View file @
b807a4c1
{
"$schema"
:
"http://json-schema.org/draft-07/schema#"
,
"$id"
:
"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"
,
"description"
:
"Meta-schema for $data reference (JSON Schema extension proposal)"
,
"type"
:
"object"
,
"required"
:
[
"$data"
],
"properties"
:
{
"$data"
:
{
"type"
:
"string"
,
"anyOf"
:
[
{
"format"
:
"relative-json-pointer"
},
{
"format"
:
"json-pointer"
}
]
}
},
"additionalProperties"
:
false
}
node_modules/ajv/lib/refs/json-schema-draft-04.json
0 → 100644
View file @
b807a4c1
{
"id"
:
"http://json-schema.org/draft-04/schema#"
,
"$schema"
:
"http://json-schema.org/draft-04/schema#"
,
"description"
:
"Core schema meta-schema"
,
"definitions"
:
{
"schemaArray"
:
{
"type"
:
"array"
,
"minItems"
:
1
,
"items"
:
{
"$ref"
:
"#"
}
},
"positiveInteger"
:
{
"type"
:
"integer"
,
"minimum"
:
0
},
"positiveIntegerDefault0"
:
{
"allOf"
:
[
{
"$ref"
:
"#/definitions/positiveInteger"
},
{
"default"
:
0
}
]
},
"simpleTypes"
:
{
"enum"
:
[
"array"
,
"boolean"
,
"integer"
,
"null"
,
"number"
,
"object"
,
"string"
]
},
"stringArray"
:
{
"type"
:
"array"
,
"items"
:
{
"type"
:
"string"
},
"minItems"
:
1
,
"uniqueItems"
:
true
}
},
"type"
:
"object"
,
"properties"
:
{
"id"
:
{
"type"
:
"string"
},
"$schema"
:
{
"type"
:
"string"
},
"title"
:
{
"type"
:
"string"
},
"description"
:
{
"type"
:
"string"
},
"default"
:
{},
"multipleOf"
:
{
"type"
:
"number"
,
"minimum"
:
0
,
"exclusiveMinimum"
:
true
},
"maximum"
:
{
"type"
:
"number"
},
"exclusiveMaximum"
:
{
"type"
:
"boolean"
,
"default"
:
false
},
"minimum"
:
{
"type"
:
"number"
},
"exclusiveMinimum"
:
{
"type"
:
"boolean"
,
"default"
:
false
},
"maxLength"
:
{
"$ref"
:
"#/definitions/positiveInteger"
},
"minLength"
:
{
"$ref"
:
"#/definitions/positiveIntegerDefault0"
},
"pattern"
:
{
"type"
:
"string"
,
"format"
:
"regex"
},
"additionalItems"
:
{
"anyOf"
:
[
{
"type"
:
"boolean"
},
{
"$ref"
:
"#"
}
],
"default"
:
{}
},
"items"
:
{
"anyOf"
:
[
{
"$ref"
:
"#"
},
{
"$ref"
:
"#/definitions/schemaArray"
}
],
"default"
:
{}
},
"maxItems"
:
{
"$ref"
:
"#/definitions/positiveInteger"
},
"minItems"
:
{
"$ref"
:
"#/definitions/positiveIntegerDefault0"
},
"uniqueItems"
:
{
"type"
:
"boolean"
,
"default"
:
false
},
"maxProperties"
:
{
"$ref"
:
"#/definitions/positiveInteger"
},
"minProperties"
:
{
"$ref"
:
"#/definitions/positiveIntegerDefault0"
},
"required"
:
{
"$ref"
:
"#/definitions/stringArray"
},
"additionalProperties"
:
{
"anyOf"
:
[
{
"type"
:
"boolean"
},
{
"$ref"
:
"#"
}
],
"default"
:
{}
},
"definitions"
:
{
"type"
:
"object"
,
"additionalProperties"
:
{
"$ref"
:
"#"
},
"default"
:
{}
},
"properties"
:
{
"type"
:
"object"
,
"additionalProperties"
:
{
"$ref"
:
"#"
},
"default"
:
{}
},
"patternProperties"
:
{
"type"
:
"object"
,
"additionalProperties"
:
{
"$ref"
:
"#"
},
"default"
:
{}
},
"dependencies"
:
{
"type"
:
"object"
,
"additionalProperties"
:
{
"anyOf"
:
[
{
"$ref"
:
"#"
},
{
"$ref"
:
"#/definitions/stringArray"
}
]
}
},
"enum"
:
{
"type"
:
"array"
,
"minItems"
:
1
,
"uniqueItems"
:
true
},
"type"
:
{
"anyOf"
:
[
{
"$ref"
:
"#/definitions/simpleTypes"
},
{
"type"
:
"array"
,
"items"
:
{
"$ref"
:
"#/definitions/simpleTypes"
},
"minItems"
:
1
,
"uniqueItems"
:
true
}
]
},
"format"
:
{
"type"
:
"string"
},
"allOf"
:
{
"$ref"
:
"#/definitions/schemaArray"
},
"anyOf"
:
{
"$ref"
:
"#/definitions/schemaArray"
},
"oneOf"
:
{
"$ref"
:
"#/definitions/schemaArray"
},
"not"
:
{
"$ref"
:
"#"
}
},
"dependencies"
:
{
"exclusiveMaximum"
:
[
"maximum"
],
"exclusiveMinimum"
:
[
"minimum"
]
},
"default"
:
{}
}
node_modules/ajv/lib/refs/json-schema-draft-06.json
0 → 100644
View file @
b807a4c1
{
"$schema"
:
"http://json-schema.org/draft-06/schema#"
,
"$id"
:
"http://json-schema.org/draft-06/schema#"
,
"title"
:
"Core schema meta-schema"
,
"definitions"
:
{
"schemaArray"
:
{
"type"
:
"array"
,
"minItems"
:
1
,
"items"
:
{
"$ref"
:
"#"
}
},
"nonNegativeInteger"
:
{
"type"
:
"integer"
,
"minimum"
:
0
},
"nonNegativeIntegerDefault0"
:
{
"allOf"
:
[
{
"$ref"
:
"#/definitions/nonNegativeInteger"
},
{
"default"
:
0
}
]
},
"simpleTypes"
:
{
"enum"
:
[
"array"
,
"boolean"
,
"integer"
,
"null"
,
"number"
,
"object"
,
"string"
]
},
"stringArray"
:
{
"type"
:
"array"
,
"items"
:
{
"type"
:
"string"
},
"uniqueItems"
:
true
,
"default"
:
[]
}
},
"type"
:
[
"object"
,
"boolean"
],
"properties"
:
{
"$id"
:
{
"type"
:
"string"
,
"format"
:
"uri-reference"
},
"$schema"
:
{
"type"
:
"string"
,
"format"
:
"uri"
},
"$ref"
:
{
"type"
:
"string"
,
"format"
:
"uri-reference"
},
"title"
:
{
"type"
:
"string"
},
"description"
:
{
"type"
:
"string"
},
"default"
:
{},
"examples"
:
{
"type"
:
"array"
,
"items"
:
{}
},
"multipleOf"
:
{
"type"
:
"number"
,
"exclusiveMinimum"
:
0
},
"maximum"
:
{
"type"
:
"number"
},
"exclusiveMaximum"
:
{
"type"
:
"number"
},
"minimum"
:
{
"type"
:
"number"
},
"exclusiveMinimum"
:
{
"type"
:
"number"
},
"maxLength"
:
{
"$ref"
:
"#/definitions/nonNegativeInteger"
},
"minLength"
:
{
"$ref"
:
"#/definitions/nonNegativeIntegerDefault0"
},
"pattern"
:
{
"type"
:
"string"
,
"format"
:
"regex"
},
"additionalItems"
:
{
"$ref"
:
"#"
},
"items"
:
{
"anyOf"
:
[
{
"$ref"
:
"#"
},
{
"$ref"
:
"#/definitions/schemaArray"
}
],
"default"
:
{}
},
"maxItems"
:
{
"$ref"
:
"#/definitions/nonNegativeInteger"
},
"minItems"
:
{
"$ref"
:
"#/definitions/nonNegativeIntegerDefault0"
},
"uniqueItems"
:
{
"type"
:
"boolean"
,
"default"
:
false
},
"contains"
:
{
"$ref"
:
"#"
},
"maxProperties"
:
{
"$ref"
:
"#/definitions/nonNegativeInteger"
},
"minProperties"
:
{
"$ref"
:
"#/definitions/nonNegativeIntegerDefault0"
},
"required"
:
{
"$ref"
:
"#/definitions/stringArray"
},
"additionalProperties"
:
{
"$ref"
:
"#"
},
"definitions"
:
{
"type"
:
"object"
,
"additionalProperties"
:
{
"$ref"
:
"#"
},
"default"
:
{}
},
"properties"
:
{
"type"
:
"object"
,
"additionalProperties"
:
{
"$ref"
:
"#"
},
"default"
:
{}
},
"patternProperties"
:
{
"type"
:
"object"
,
"additionalProperties"
:
{
"$ref"
:
"#"
},
"default"
:
{}
},
"dependencies"
:
{
"type"
:
"object"
,
"additionalProperties"
:
{
"anyOf"
:
[
{
"$ref"
:
"#"
},
{
"$ref"
:
"#/definitions/stringArray"
}
]
}
},
"propertyNames"
:
{
"$ref"
:
"#"
},
"const"
:
{},
"enum"
:
{
"type"
:
"array"
,
"minItems"
:
1
,
"uniqueItems"
:
true
},
"type"
:
{
"anyOf"
:
[
{
"$ref"
:
"#/definitions/simpleTypes"
},
{
"type"
:
"array"
,
"items"
:
{
"$ref"
:
"#/definitions/simpleTypes"
},
"minItems"
:
1
,
"uniqueItems"
:
true
}
]
},
"format"
:
{
"type"
:
"string"
},
"allOf"
:
{
"$ref"
:
"#/definitions/schemaArray"
},
"anyOf"
:
{
"$ref"
:
"#/definitions/schemaArray"
},
"oneOf"
:
{
"$ref"
:
"#/definitions/schemaArray"
},
"not"
:
{
"$ref"
:
"#"
}
},
"default"
:
{}
}
node_modules/ajv/lib/refs/json-schema-draft-07.json
0 → 100644
View file @
b807a4c1
{
"$schema"
:
"http://json-schema.org/draft-07/schema#"
,
"$id"
:
"http://json-schema.org/draft-07/schema#"
,
"title"
:
"Core schema meta-schema"
,
"definitions"
:
{
"schemaArray"
:
{
"type"
:
"array"
,
"minItems"
:
1
,
"items"
:
{
"$ref"
:
"#"
}
},
"nonNegativeInteger"
:
{
"type"
:
"integer"
,
"minimum"
:
0
},
"nonNegativeIntegerDefault0"
:
{
"allOf"
:
[
{
"$ref"
:
"#/definitions/nonNegativeInteger"
},
{
"default"
:
0
}
]
},
"simpleTypes"
:
{
"enum"
:
[
"array"
,
"boolean"
,
"integer"
,
"null"
,
"number"
,
"object"
,
"string"
]
},
"stringArray"
:
{
"type"
:
"array"
,
"items"
:
{
"type"
:
"string"
},
"uniqueItems"
:
true
,
"default"
:
[]
}
},
"type"
:
[
"object"
,
"boolean"
],
"properties"
:
{
"$id"
:
{
"type"
:
"string"
,
"format"
:
"uri-reference"
},
"$schema"
:
{
"type"
:
"string"
,
"format"
:
"uri"
},
"$ref"
:
{
"type"
:
"string"
,
"format"
:
"uri-reference"
},
"$comment"
:
{
"type"
:
"string"
},
"title"
:
{
"type"
:
"string"
},
"description"
:
{
"type"
:
"string"
},
"default"
:
true
,
"readOnly"
:
{
"type"
:
"boolean"
,
"default"
:
false
},
"examples"
:
{
"type"
:
"array"
,
"items"
:
true
},
"multipleOf"
:
{
"type"
:
"number"
,
"exclusiveMinimum"
:
0
},
"maximum"
:
{
"type"
:
"number"
},
"exclusiveMaximum"
:
{
"type"
:
"number"
},
"minimum"
:
{
"type"
:
"number"
},
"exclusiveMinimum"
:
{
"type"
:
"number"
},
"maxLength"
:
{
"$ref"
:
"#/definitions/nonNegativeInteger"
},
"minLength"
:
{
"$ref"
:
"#/definitions/nonNegativeIntegerDefault0"
},
"pattern"
:
{
"type"
:
"string"
,
"format"
:
"regex"
},
"additionalItems"
:
{
"$ref"
:
"#"
},
"items"
:
{
"anyOf"
:
[
{
"$ref"
:
"#"
},
{
"$ref"
:
"#/definitions/schemaArray"
}
],
"default"
:
true
},
"maxItems"
:
{
"$ref"
:
"#/definitions/nonNegativeInteger"
},
"minItems"
:
{
"$ref"
:
"#/definitions/nonNegativeIntegerDefault0"
},
"uniqueItems"
:
{
"type"
:
"boolean"
,
"default"
:
false
},
"contains"
:
{
"$ref"
:
"#"
},
"maxProperties"
:
{
"$ref"
:
"#/definitions/nonNegativeInteger"
},
"minProperties"
:
{
"$ref"
:
"#/definitions/nonNegativeIntegerDefault0"
},
"required"
:
{
"$ref"
:
"#/definitions/stringArray"
},
"additionalProperties"
:
{
"$ref"
:
"#"
},
"definitions"
:
{
"type"
:
"object"
,
"additionalProperties"
:
{
"$ref"
:
"#"
},
"default"
:
{}
},
"properties"
:
{
"type"
:
"object"
,
"additionalProperties"
:
{
"$ref"
:
"#"
},
"default"
:
{}
},
"patternProperties"
:
{
"type"
:
"object"
,
"additionalProperties"
:
{
"$ref"
:
"#"
},
"propertyNames"
:
{
"format"
:
"regex"
},
"default"
:
{}
},
"dependencies"
:
{
"type"
:
"object"
,
"additionalProperties"
:
{
"anyOf"
:
[
{
"$ref"
:
"#"
},
{
"$ref"
:
"#/definitions/stringArray"
}
]
}
},
"propertyNames"
:
{
"$ref"
:
"#"
},
"const"
:
true
,
"enum"
:
{
"type"
:
"array"
,
"items"
:
true
,
"minItems"
:
1
,
"uniqueItems"
:
true
},
"type"
:
{
"anyOf"
:
[
{
"$ref"
:
"#/definitions/simpleTypes"
},
{
"type"
:
"array"
,
"items"
:
{
"$ref"
:
"#/definitions/simpleTypes"
},
"minItems"
:
1
,
"uniqueItems"
:
true
}
]
},
"format"
:
{
"type"
:
"string"
},
"contentMediaType"
:
{
"type"
:
"string"
},
"contentEncoding"
:
{
"type"
:
"string"
},
"if"
:
{
"$ref"
:
"#"
},
"then"
:
{
"$ref"
:
"#"
},
"else"
:
{
"$ref"
:
"#"
},
"allOf"
:
{
"$ref"
:
"#/definitions/schemaArray"
},
"anyOf"
:
{
"$ref"
:
"#/definitions/schemaArray"
},
"oneOf"
:
{
"$ref"
:
"#/definitions/schemaArray"
},
"not"
:
{
"$ref"
:
"#"
}
},
"default"
:
true
}
node_modules/ajv/lib/refs/json-schema-secure.json
0 → 100644
View file @
b807a4c1
{
"$schema"
:
"http://json-schema.org/draft-07/schema#"
,
"$id"
:
"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/json-schema-secure.json#"
,
"title"
:
"Meta-schema for the security assessment of JSON Schemas"
,
"description"
:
"If a JSON Schema fails validation against this meta-schema, it may be unsafe to validate untrusted data"
,
"definitions"
:
{
"schemaArray"
:
{
"type"
:
"array"
,
"minItems"
:
1
,
"items"
:
{
"$ref"
:
"#"
}
}
},
"dependencies"
:
{
"patternProperties"
:
{
"description"
:
"prevent slow validation of large property names"
,
"required"
:
[
"propertyNames"
],
"properties"
:
{
"propertyNames"
:
{
"required"
:
[
"maxLength"
]
}
}
},
"uniqueItems"
:
{
"description"
:
"prevent slow validation of large non-scalar arrays"
,
"if"
:
{
"properties"
:
{
"uniqueItems"
:
{
"const"
:
true
},
"items"
:
{
"properties"
:
{
"type"
:
{
"anyOf"
:
[
{
"enum"
:
[
"object"
,
"array"
]
},
{
"type"
:
"array"
,
"contains"
:
{
"enum"
:
[
"object"
,
"array"
]}
}
]
}
}
}
}
},
"then"
:
{
"required"
:
[
"maxItems"
]
}
},
"pattern"
:
{
"description"
:
"prevent slow pattern matching of large strings"
,
"required"
:
[
"maxLength"
]
},
"format"
:
{
"description"
:
"prevent slow format validation of large strings"
,
"required"
:
[
"maxLength"
]
}
},
"properties"
:
{
"additionalItems"
:
{
"$ref"
:
"#"
},
"additionalProperties"
:
{
"$ref"
:
"#"
},
"dependencies"
:
{
"additionalProperties"
:
{
"anyOf"
:
[
{
"type"
:
"array"
},
{
"$ref"
:
"#"
}
]
}
},
"items"
:
{
"anyOf"
:
[
{
"$ref"
:
"#"
},
{
"$ref"
:
"#/definitions/schemaArray"
}
]
},
"definitions"
:
{
"additionalProperties"
:
{
"$ref"
:
"#"
}
},
"patternProperties"
:
{
"additionalProperties"
:
{
"$ref"
:
"#"
}
},
"properties"
:
{
"additionalProperties"
:
{
"$ref"
:
"#"
}
},
"if"
:
{
"$ref"
:
"#"
},
"then"
:
{
"$ref"
:
"#"
},
"else"
:
{
"$ref"
:
"#"
},
"allOf"
:
{
"$ref"
:
"#/definitions/schemaArray"
},
"anyOf"
:
{
"$ref"
:
"#/definitions/schemaArray"
},
"oneOf"
:
{
"$ref"
:
"#/definitions/schemaArray"
},
"not"
:
{
"$ref"
:
"#"
},
"contains"
:
{
"$ref"
:
"#"
},
"propertyNames"
:
{
"$ref"
:
"#"
}
}
}
node_modules/ajv/package.json
0 → 100644
View file @
b807a4c1
{
"name"
:
"ajv"
,
"version"
:
"6.12.6"
,
"description"
:
"Another JSON Schema Validator"
,
"main"
:
"lib/ajv.js"
,
"typings"
:
"lib/ajv.d.ts"
,
"files"
:
[
"lib/"
,
"dist/"
,
"scripts/"
,
"LICENSE"
,
".tonic_example.js"
],
"scripts"
:
{
"eslint"
:
"eslint lib/{compile/,}*.js spec/{**/,}*.js scripts --ignore-pattern spec/JSON-Schema-Test-Suite"
,
"jshint"
:
"jshint lib/{compile/,}*.js"
,
"lint"
:
"npm run jshint && npm run eslint"
,
"test-spec"
:
"mocha spec/{**/,}*.spec.js -R spec"
,
"test-fast"
:
"AJV_FAST_TEST=true npm run test-spec"
,
"test-debug"
:
"npm run test-spec -- --inspect-brk"
,
"test-cov"
:
"nyc npm run test-spec"
,
"test-ts"
:
"tsc --target ES5 --noImplicitAny --noEmit spec/typescript/index.ts"
,
"bundle"
:
"del-cli dist && node ./scripts/bundle.js . Ajv pure_getters"
,
"bundle-beautify"
:
"node ./scripts/bundle.js js-beautify"
,
"build"
:
"del-cli lib/dotjs/*.js
\"
!lib/dotjs/index.js
\"
&& node scripts/compile-dots.js"
,
"test-karma"
:
"karma start"
,
"test-browser"
:
"del-cli .browser && npm run bundle && scripts/prepare-tests && npm run test-karma"
,
"test-all"
:
"npm run test-cov && if-node-version 10 npm run test-browser"
,
"test"
:
"npm run lint && npm run build && npm run test-all"
,
"prepublish"
:
"npm run build && npm run bundle"
,
"watch"
:
"watch
\"
npm run build
\"
./lib/dot"
},
"nyc"
:
{
"exclude"
:
[
"**/spec/**"
,
"node_modules"
],
"reporter"
:
[
"lcov"
,
"text-summary"
]
},
"repository"
:
{
"type"
:
"git"
,
"url"
:
"https://github.com/ajv-validator/ajv.git"
},
"keywords"
:
[
"JSON"
,
"schema"
,
"validator"
,
"validation"
,
"jsonschema"
,
"json-schema"
,
"json-schema-validator"
,
"json-schema-validation"
],
"author"
:
"Evgeny Poberezkin"
,
"license"
:
"MIT"
,
"bugs"
:
{
"url"
:
"https://github.com/ajv-validator/ajv/issues"
},
"homepage"
:
"https://github.com/ajv-validator/ajv"
,
"tonicExampleFilename"
:
".tonic_example.js"
,
"dependencies"
:
{
"fast-deep-equal"
:
"^3.1.1"
,
"fast-json-stable-stringify"
:
"^2.0.0"
,
"json-schema-traverse"
:
"^0.4.1"
,
"uri-js"
:
"^4.2.2"
},
"devDependencies"
:
{
"ajv-async"
:
"^1.0.0"
,
"bluebird"
:
"^3.5.3"
,
"brfs"
:
"^2.0.0"
,
"browserify"
:
"^16.2.0"
,
"chai"
:
"^4.0.1"
,
"coveralls"
:
"^3.0.1"
,
"del-cli"
:
"^3.0.0"
,
"dot"
:
"^1.0.3"
,
"eslint"
:
"^7.3.1"
,
"gh-pages-generator"
:
"^0.2.3"
,
"glob"
:
"^7.0.0"
,
"if-node-version"
:
"^1.0.0"
,
"js-beautify"
:
"^1.7.3"
,
"jshint"
:
"^2.10.2"
,
"json-schema-test"
:
"^2.0.0"
,
"karma"
:
"^5.0.0"
,
"karma-chrome-launcher"
:
"^3.0.0"
,
"karma-mocha"
:
"^2.0.0"
,
"karma-sauce-launcher"
:
"^4.1.3"
,
"mocha"
:
"^8.0.1"
,
"nyc"
:
"^15.0.0"
,
"pre-commit"
:
"^1.1.1"
,
"require-globify"
:
"^1.3.0"
,
"typescript"
:
"^3.9.5"
,
"uglify-js"
:
"^3.6.9"
,
"watch"
:
"^1.0.0"
},
"collective"
:
{
"type"
:
"opencollective"
,
"url"
:
"https://opencollective.com/ajv"
},
"funding"
:
{
"type"
:
"github"
,
"url"
:
"https://github.com/sponsors/epoberezkin"
}
}
node_modules/ajv/scripts/.eslintrc.yml
0 → 100644
View file @
b807a4c1
rules
:
no-console
:
0
no-empty
:
[
2
,
allowEmptyCatch
:
true
]
node_modules/ajv/scripts/bundle.js
0 → 100644
View file @
b807a4c1
'
use strict
'
;
var
fs
=
require
(
'
fs
'
)
,
path
=
require
(
'
path
'
)
,
browserify
=
require
(
'
browserify
'
)
,
uglify
=
require
(
'
uglify-js
'
);
var
pkg
=
process
.
argv
[
2
]
,
standalone
=
process
.
argv
[
3
]
,
compress
=
process
.
argv
[
4
];
var
packageDir
=
path
.
join
(
__dirname
,
'
..
'
);
if
(
pkg
!=
'
.
'
)
packageDir
=
path
.
join
(
packageDir
,
'
node_modules
'
,
pkg
);
var
json
=
require
(
path
.
join
(
packageDir
,
'
package.json
'
));
var
distDir
=
path
.
join
(
__dirname
,
'
..
'
,
'
dist
'
);
if
(
!
fs
.
existsSync
(
distDir
))
fs
.
mkdirSync
(
distDir
);
var
bOpts
=
{};
if
(
standalone
)
bOpts
.
standalone
=
standalone
;
browserify
(
bOpts
)
.
require
(
path
.
join
(
packageDir
,
json
.
main
),
{
expose
:
json
.
name
})
.
bundle
(
function
(
err
,
buf
)
{
if
(
err
)
{
console
.
error
(
'
browserify error:
'
,
err
);
process
.
exit
(
1
);
}
var
outputFile
=
path
.
join
(
distDir
,
json
.
name
);
var
uglifyOpts
=
{
warnings
:
true
,
compress
:
{},
output
:
{
preamble
:
'
/*
'
+
json
.
name
+
'
'
+
json
.
version
+
'
:
'
+
json
.
description
+
'
*/
'
}
};
if
(
compress
)
{
var
compressOpts
=
compress
.
split
(
'
,
'
);
for
(
var
i
=
0
,
il
=
compressOpts
.
length
;
i
<
il
;
++
i
)
{
var
pair
=
compressOpts
[
i
].
split
(
'
=
'
);
uglifyOpts
.
compress
[
pair
[
0
]]
=
pair
.
length
<
1
||
pair
[
1
]
!=
'
false
'
;
}
}
if
(
standalone
)
{
uglifyOpts
.
sourceMap
=
{
filename
:
json
.
name
+
'
.min.js
'
,
url
:
json
.
name
+
'
.min.js.map
'
};
}
var
result
=
uglify
.
minify
(
buf
.
toString
(),
uglifyOpts
);
fs
.
writeFileSync
(
outputFile
+
'
.min.js
'
,
result
.
code
);
if
(
result
.
map
)
fs
.
writeFileSync
(
outputFile
+
'
.min.js.map
'
,
result
.
map
);
if
(
standalone
)
fs
.
writeFileSync
(
outputFile
+
'
.bundle.js
'
,
buf
);
if
(
result
.
warnings
)
{
for
(
var
j
=
0
,
jl
=
result
.
warnings
.
length
;
j
<
jl
;
++
j
)
console
.
warn
(
'
UglifyJS warning:
'
,
result
.
warnings
[
j
]);
}
});
node_modules/ajv/scripts/compile-dots.js
0 → 100644
View file @
b807a4c1
//compile doT templates to js functions
'
use strict
'
;
var
glob
=
require
(
'
glob
'
)
,
fs
=
require
(
'
fs
'
)
,
path
=
require
(
'
path
'
)
,
doT
=
require
(
'
dot
'
)
,
beautify
=
require
(
'
js-beautify
'
).
js_beautify
;
var
defsRootPath
=
process
.
argv
[
2
]
||
path
.
join
(
__dirname
,
'
../lib
'
);
var
defs
=
{};
var
defFiles
=
glob
.
sync
(
'
./dot/**/*.def
'
,
{
cwd
:
defsRootPath
});
defFiles
.
forEach
(
function
(
f
)
{
var
name
=
path
.
basename
(
f
,
'
.def
'
);
defs
[
name
]
=
fs
.
readFileSync
(
path
.
join
(
defsRootPath
,
f
));
});
var
filesRootPath
=
process
.
argv
[
3
]
||
path
.
join
(
__dirname
,
'
../lib
'
);
var
files
=
glob
.
sync
(
'
./dot/**/*.jst
'
,
{
cwd
:
filesRootPath
});
var
dotjsPath
=
path
.
join
(
filesRootPath
,
'
./dotjs
'
);
try
{
fs
.
mkdirSync
(
dotjsPath
);
}
catch
(
e
)
{}
console
.
log
(
'
\n\n
Compiling:
'
);
var
FUNCTION_NAME
=
/function
\s
+anonymous
\s
*
\(
it
[^
)
]
*
\)\s
*{/
;
var
OUT_EMPTY_STRING
=
/out
\s
*
\+
=
\s
*'
\s
*';/g
;
var
ISTANBUL
=
/'
(
istanbul
[^
'
]
+
)
';/g
;
var
ERROR_KEYWORD
=
/
\$
errorKeyword/g
;
var
ERROR_KEYWORD_OR
=
/
\$
errorKeyword
\s
+
\|\|
/g
;
var
VARS
=
[
'
$errs
'
,
'
$valid
'
,
'
$lvl
'
,
'
$data
'
,
'
$dataLvl
'
,
'
$errorKeyword
'
,
'
$closingBraces
'
,
'
$schemaPath
'
,
'
$validate
'
];
files
.
forEach
(
function
(
f
)
{
var
keyword
=
path
.
basename
(
f
,
'
.jst
'
);
var
targetPath
=
path
.
join
(
dotjsPath
,
keyword
+
'
.js
'
);
var
template
=
fs
.
readFileSync
(
path
.
join
(
filesRootPath
,
f
));
var
code
=
doT
.
compile
(
template
,
defs
);
code
=
code
.
toString
()
.
replace
(
OUT_EMPTY_STRING
,
''
)
.
replace
(
FUNCTION_NAME
,
'
function generate_
'
+
keyword
+
'
(it, $keyword, $ruleType) {
'
)
.
replace
(
ISTANBUL
,
'
/* $1 */
'
);
removeAlwaysFalsyInOr
();
VARS
.
forEach
(
removeUnusedVar
);
code
=
"
'use strict';
\n
module.exports =
"
+
code
;
code
=
beautify
(
code
,
{
indent_size
:
2
})
+
'
\n
'
;
fs
.
writeFileSync
(
targetPath
,
code
);
console
.
log
(
'
compiled
'
,
keyword
);
function
removeUnusedVar
(
v
)
{
v
=
v
.
replace
(
/
\$
/g
,
'
\\
$$
'
);
var
regexp
=
new
RegExp
(
v
+
'
[^A-Za-z0-9_$]
'
,
'
g
'
);
var
count
=
occurrences
(
regexp
);
if
(
count
==
1
)
{
regexp
=
new
RegExp
(
'
var
\\
s+
'
+
v
+
'
\\
s*=[^;]+;|var
\\
s+
'
+
v
+
'
;
'
);
code
=
code
.
replace
(
regexp
,
''
);
}
}
function
removeAlwaysFalsyInOr
()
{
var
countUsed
=
occurrences
(
ERROR_KEYWORD
);
var
countOr
=
occurrences
(
ERROR_KEYWORD_OR
);
if
(
countUsed
==
countOr
+
1
)
code
=
code
.
replace
(
ERROR_KEYWORD_OR
,
''
);
}
function
occurrences
(
regexp
)
{
return
(
code
.
match
(
regexp
)
||
[]).
length
;
}
});
node_modules/ajv/scripts/info
0 → 100644
View file @
b807a4c1
#!/usr/bin/env node
'
use strict
'
;
var
fs
=
require
(
'
fs
'
);
var
name
=
process
.
argv
[
2
]
||
'
.
'
;
var
property
=
process
.
argv
[
3
]
||
'
version
'
;
if
(
name
!=
'
.
'
)
name
=
'
node_modules/
'
+
name
;
var
json
=
JSON
.
parse
(
fs
.
readFileSync
(
name
+
'
/package.json
'
,
'
utf8
'
));
console
.
log
(
json
[
property
]);
Prev
1
…
9
10
11
12
13
14
15
16
17
…
24
Next