Initial
This commit is contained in:
195
resources/app/node_modules/json-schema/LICENSE
generated
vendored
Normal file
195
resources/app/node_modules/json-schema/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,195 @@
|
||||
Dojo is available under *either* the terms of the BSD 3-Clause "New" License *or* the
|
||||
Academic Free License version 2.1. As a recipient of Dojo, you may choose which
|
||||
license to receive this code under (except as noted in per-module LICENSE
|
||||
files). Some modules may not be the copyright of the Dojo Foundation. These
|
||||
modules contain explicit declarations of copyright in both the LICENSE files in
|
||||
the directories in which they reside and in the code itself. No external
|
||||
contributions are allowed under licenses which are fundamentally incompatible
|
||||
with the AFL-2.1 OR and BSD-3-Clause licenses that Dojo is distributed under.
|
||||
|
||||
The text of the AFL-2.1 and BSD-3-Clause licenses is reproduced below.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
BSD 3-Clause "New" License:
|
||||
**********************
|
||||
|
||||
Copyright (c) 2005-2015, The Dojo Foundation
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
* Neither the name of the Dojo Foundation nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
The Academic Free License, v. 2.1:
|
||||
**********************************
|
||||
|
||||
This Academic Free License (the "License") applies to any original work of
|
||||
authorship (the "Original Work") whose owner (the "Licensor") has placed the
|
||||
following notice immediately following the copyright notice for the Original
|
||||
Work:
|
||||
|
||||
Licensed under the Academic Free License version 2.1
|
||||
|
||||
1) Grant of Copyright License. Licensor hereby grants You a world-wide,
|
||||
royalty-free, non-exclusive, perpetual, sublicenseable license to do the
|
||||
following:
|
||||
|
||||
a) to reproduce the Original Work in copies;
|
||||
|
||||
b) to prepare derivative works ("Derivative Works") based upon the Original
|
||||
Work;
|
||||
|
||||
c) to distribute copies of the Original Work and Derivative Works to the
|
||||
public;
|
||||
|
||||
d) to perform the Original Work publicly; and
|
||||
|
||||
e) to display the Original Work publicly.
|
||||
|
||||
2) Grant of Patent License. Licensor hereby grants You a world-wide,
|
||||
royalty-free, non-exclusive, perpetual, sublicenseable license, under patent
|
||||
claims owned or controlled by the Licensor that are embodied in the Original
|
||||
Work as furnished by the Licensor, to make, use, sell and offer for sale the
|
||||
Original Work and Derivative Works.
|
||||
|
||||
3) Grant of Source Code License. The term "Source Code" means the preferred
|
||||
form of the Original Work for making modifications to it and all available
|
||||
documentation describing how to modify the Original Work. Licensor hereby
|
||||
agrees to provide a machine-readable copy of the Source Code of the Original
|
||||
Work along with each copy of the Original Work that Licensor distributes.
|
||||
Licensor reserves the right to satisfy this obligation by placing a
|
||||
machine-readable copy of the Source Code in an information repository
|
||||
reasonably calculated to permit inexpensive and convenient access by You for as
|
||||
long as Licensor continues to distribute the Original Work, and by publishing
|
||||
the address of that information repository in a notice immediately following
|
||||
the copyright notice that applies to the Original Work.
|
||||
|
||||
4) Exclusions From License Grant. Neither the names of Licensor, nor the names
|
||||
of any contributors to the Original Work, nor any of their trademarks or
|
||||
service marks, may be used to endorse or promote products derived from this
|
||||
Original Work without express prior written permission of the Licensor. Nothing
|
||||
in this License shall be deemed to grant any rights to trademarks, copyrights,
|
||||
patents, trade secrets or any other intellectual property of Licensor except as
|
||||
expressly stated herein. No patent license is granted to make, use, sell or
|
||||
offer to sell embodiments of any patent claims other than the licensed claims
|
||||
defined in Section 2. No right is granted to the trademarks of Licensor even if
|
||||
such marks are included in the Original Work. Nothing in this License shall be
|
||||
interpreted to prohibit Licensor from licensing under different terms from this
|
||||
License any Original Work that Licensor otherwise would have a right to
|
||||
license.
|
||||
|
||||
5) This section intentionally omitted.
|
||||
|
||||
6) Attribution Rights. You must retain, in the Source Code of any Derivative
|
||||
Works that You create, all copyright, patent or trademark notices from the
|
||||
Source Code of the Original Work, as well as any notices of licensing and any
|
||||
descriptive text identified therein as an "Attribution Notice." You must cause
|
||||
the Source Code for any Derivative Works that You create to carry a prominent
|
||||
Attribution Notice reasonably calculated to inform recipients that You have
|
||||
modified the Original Work.
|
||||
|
||||
7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that
|
||||
the copyright in and to the Original Work and the patent rights granted herein
|
||||
by Licensor are owned by the Licensor or are sublicensed to You under the terms
|
||||
of this License with the permission of the contributor(s) of those copyrights
|
||||
and patent rights. Except as expressly stated in the immediately proceeding
|
||||
sentence, the Original Work is provided under this License on an "AS IS" BASIS
|
||||
and WITHOUT WARRANTY, either express or implied, including, without limitation,
|
||||
the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU.
|
||||
This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No
|
||||
license to Original Work is granted hereunder except under this disclaimer.
|
||||
|
||||
8) Limitation of Liability. Under no circumstances and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise, shall the
|
||||
Licensor be liable to any person for any direct, indirect, special, incidental,
|
||||
or consequential damages of any character arising as a result of this License
|
||||
or the use of the Original Work including, without limitation, damages for loss
|
||||
of goodwill, work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses. This limitation of liability shall not
|
||||
apply to liability for death or personal injury resulting from Licensor's
|
||||
negligence to the extent applicable law prohibits such limitation. Some
|
||||
jurisdictions do not allow the exclusion or limitation of incidental or
|
||||
consequential damages, so this exclusion and limitation may not apply to You.
|
||||
|
||||
9) Acceptance and Termination. If You distribute copies of the Original Work or
|
||||
a Derivative Work, You must make a reasonable effort under the circumstances to
|
||||
obtain the express assent of recipients to the terms of this License. Nothing
|
||||
else but this License (or another written agreement between Licensor and You)
|
||||
grants You permission to create Derivative Works based upon the Original Work
|
||||
or to exercise any of the rights granted in Section 1 herein, and any attempt
|
||||
to do so except under the terms of this License (or another written agreement
|
||||
between Licensor and You) is expressly prohibited by U.S. copyright law, the
|
||||
equivalent laws of other countries, and by international treaty. Therefore, by
|
||||
exercising any of the rights granted to You in Section 1 herein, You indicate
|
||||
Your acceptance of this License and all of its terms and conditions.
|
||||
|
||||
10) Termination for Patent Action. This License shall terminate automatically
|
||||
and You may no longer exercise any of the rights granted to You by this License
|
||||
as of the date You commence an action, including a cross-claim or counterclaim,
|
||||
against Licensor or any licensee alleging that the Original Work infringes a
|
||||
patent. This termination provision shall not apply for an action alleging
|
||||
patent infringement by combinations of the Original Work with other software or
|
||||
hardware.
|
||||
|
||||
11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this
|
||||
License may be brought only in the courts of a jurisdiction wherein the
|
||||
Licensor resides or in which Licensor conducts its primary business, and under
|
||||
the laws of that jurisdiction excluding its conflict-of-law provisions. The
|
||||
application of the United Nations Convention on Contracts for the International
|
||||
Sale of Goods is expressly excluded. Any use of the Original Work outside the
|
||||
scope of this License or after its termination shall be subject to the
|
||||
requirements and penalties of the U.S. Copyright Act, 17 U.S.C. § 101 et
|
||||
seq., the equivalent laws of other countries, and international treaty. This
|
||||
section shall survive the termination of this License.
|
||||
|
||||
12) Attorneys Fees. In any action to enforce the terms of this License or
|
||||
seeking damages relating thereto, the prevailing party shall be entitled to
|
||||
recover its costs and expenses, including, without limitation, reasonable
|
||||
attorneys' fees and costs incurred in connection with such action, including
|
||||
any appeal of such action. This section shall survive the termination of this
|
||||
License.
|
||||
|
||||
13) Miscellaneous. This License represents the complete agreement concerning
|
||||
the subject matter hereof. If any provision of this License is held to be
|
||||
unenforceable, such provision shall be reformed only to the extent necessary to
|
||||
make it enforceable.
|
||||
|
||||
14) Definition of "You" in This License. "You" throughout this License, whether
|
||||
in upper or lower case, means an individual or a legal entity exercising rights
|
||||
under, and complying with all of the terms of, this License. For legal
|
||||
entities, "You" includes any entity that controls, is controlled by, or is
|
||||
under common control with you. For purposes of this definition, "control" means
|
||||
(i) the power, direct or indirect, to cause the direction or management of such
|
||||
entity, whether by contract or otherwise, or (ii) ownership of fifty percent
|
||||
(50%) or more of the outstanding shares, or (iii) beneficial ownership of such
|
||||
entity.
|
||||
|
||||
15) Right to Use. You may use the Original Work in all ways not otherwise
|
||||
restricted or conditioned by this License or by law, and Licensor promises not
|
||||
to interfere with or be responsible for such uses by You.
|
||||
|
||||
This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights reserved.
|
||||
Permission is hereby granted to copy and distribute this license without
|
||||
modification. This license may not be modified without the express written
|
||||
permission of its copyright owner.
|
||||
65
resources/app/node_modules/json-schema/lib/links.js
generated
vendored
Normal file
65
resources/app/node_modules/json-schema/lib/links.js
generated
vendored
Normal file
@@ -0,0 +1,65 @@
|
||||
/**
|
||||
* JSON Schema link handler
|
||||
* Licensed under AFL-2.1 OR BSD-3-Clause
|
||||
*/
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module.
|
||||
define([], function () {
|
||||
return factory();
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory();
|
||||
} else {
|
||||
// Browser globals
|
||||
root.jsonSchemaLinks = factory();
|
||||
}
|
||||
}(this, function () {// setup primitive classes to be JSON Schema types
|
||||
var exports = {};
|
||||
exports.cacheLinks = true;
|
||||
exports.getLink = function(relation, instance, schema){
|
||||
// gets the URI of the link for the given relation based on the instance and schema
|
||||
// for example:
|
||||
// getLink(
|
||||
// "brother",
|
||||
// {"brother_id":33},
|
||||
// {links:[{rel:"brother", href:"Brother/{brother_id}"}]}) ->
|
||||
// "Brother/33"
|
||||
var links = schema.__linkTemplates;
|
||||
if(!links){
|
||||
links = {};
|
||||
var schemaLinks = schema.links;
|
||||
if(schemaLinks && schemaLinks instanceof Array){
|
||||
schemaLinks.forEach(function(link){
|
||||
/* // TODO: allow for multiple same-name relations
|
||||
if(links[link.rel]){
|
||||
if(!(links[link.rel] instanceof Array)){
|
||||
links[link.rel] = [links[link.rel]];
|
||||
}
|
||||
}*/
|
||||
links[link.rel] = link.href;
|
||||
});
|
||||
}
|
||||
if(exports.cacheLinks){
|
||||
schema.__linkTemplates = links;
|
||||
}
|
||||
}
|
||||
var linkTemplate = links[relation];
|
||||
return linkTemplate && exports.substitute(linkTemplate, instance);
|
||||
};
|
||||
|
||||
exports.substitute = function(linkTemplate, instance){
|
||||
return linkTemplate.replace(/\{([^\}]*)\}/g, function(t, property){
|
||||
var value = instance[decodeURIComponent(property)];
|
||||
if(value instanceof Array){
|
||||
// the value is an array, it should produce a URI like /Table/(4,5,8) and store.get() should handle that as an array of values
|
||||
return '(' + value.join(',') + ')';
|
||||
}
|
||||
return value;
|
||||
});
|
||||
};
|
||||
return exports;
|
||||
}));
|
||||
271
resources/app/node_modules/json-schema/lib/validate.js
generated
vendored
Normal file
271
resources/app/node_modules/json-schema/lib/validate.js
generated
vendored
Normal file
@@ -0,0 +1,271 @@
|
||||
/**
|
||||
* JSONSchema Validator - Validates JavaScript objects using JSON Schemas
|
||||
* (http://www.json.com/json-schema-proposal/)
|
||||
* Licensed under AFL-2.1 OR BSD-3-Clause
|
||||
To use the validator call the validate function with an instance object and an optional schema object.
|
||||
If a schema is provided, it will be used to validate. If the instance object refers to a schema (self-validating),
|
||||
that schema will be used to validate and the schema parameter is not necessary (if both exist,
|
||||
both validations will occur).
|
||||
The validate method will return an array of validation errors. If there are no errors, then an
|
||||
empty list will be returned. A validation error will have two properties:
|
||||
"property" which indicates which property had the error
|
||||
"message" which indicates what the error was
|
||||
*/
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module.
|
||||
define([], function () {
|
||||
return factory();
|
||||
});
|
||||
} else if (typeof module === 'object' && module.exports) {
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory();
|
||||
} else {
|
||||
// Browser globals
|
||||
root.jsonSchema = factory();
|
||||
}
|
||||
}(this, function () {// setup primitive classes to be JSON Schema types
|
||||
var exports = validate
|
||||
exports.Integer = {type:"integer"};
|
||||
var primitiveConstructors = {
|
||||
String: String,
|
||||
Boolean: Boolean,
|
||||
Number: Number,
|
||||
Object: Object,
|
||||
Array: Array,
|
||||
Date: Date
|
||||
}
|
||||
exports.validate = validate;
|
||||
function validate(/*Any*/instance,/*Object*/schema) {
|
||||
// Summary:
|
||||
// To use the validator call JSONSchema.validate with an instance object and an optional schema object.
|
||||
// If a schema is provided, it will be used to validate. If the instance object refers to a schema (self-validating),
|
||||
// that schema will be used to validate and the schema parameter is not necessary (if both exist,
|
||||
// both validations will occur).
|
||||
// The validate method will return an object with two properties:
|
||||
// valid: A boolean indicating if the instance is valid by the schema
|
||||
// errors: An array of validation errors. If there are no errors, then an
|
||||
// empty list will be returned. A validation error will have two properties:
|
||||
// property: which indicates which property had the error
|
||||
// message: which indicates what the error was
|
||||
//
|
||||
return validate(instance, schema, {changing: false});//, coerce: false, existingOnly: false});
|
||||
};
|
||||
exports.checkPropertyChange = function(/*Any*/value,/*Object*/schema, /*String*/property) {
|
||||
// Summary:
|
||||
// The checkPropertyChange method will check to see if an value can legally be in property with the given schema
|
||||
// This is slightly different than the validate method in that it will fail if the schema is readonly and it will
|
||||
// not check for self-validation, it is assumed that the passed in value is already internally valid.
|
||||
// The checkPropertyChange method will return the same object type as validate, see JSONSchema.validate for
|
||||
// information.
|
||||
//
|
||||
return validate(value, schema, {changing: property || "property"});
|
||||
};
|
||||
var validate = exports._validate = function(/*Any*/instance,/*Object*/schema,/*Object*/options) {
|
||||
|
||||
if (!options) options = {};
|
||||
var _changing = options.changing;
|
||||
|
||||
function getType(schema){
|
||||
return schema.type || (primitiveConstructors[schema.name] == schema && schema.name.toLowerCase());
|
||||
}
|
||||
var errors = [];
|
||||
// validate a value against a property definition
|
||||
function checkProp(value, schema, path,i){
|
||||
|
||||
var l;
|
||||
path += path ? typeof i == 'number' ? '[' + i + ']' : typeof i == 'undefined' ? '' : '.' + i : i;
|
||||
function addError(message){
|
||||
errors.push({property:path,message:message});
|
||||
}
|
||||
|
||||
if((typeof schema != 'object' || schema instanceof Array) && (path || typeof schema != 'function') && !(schema && getType(schema))){
|
||||
if(typeof schema == 'function'){
|
||||
if(!(value instanceof schema)){
|
||||
addError("is not an instance of the class/constructor " + schema.name);
|
||||
}
|
||||
}else if(schema){
|
||||
addError("Invalid schema/property definition " + schema);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
if(_changing && schema.readonly){
|
||||
addError("is a readonly field, it can not be changed");
|
||||
}
|
||||
if(schema['extends']){ // if it extends another schema, it must pass that schema as well
|
||||
checkProp(value,schema['extends'],path,i);
|
||||
}
|
||||
// validate a value against a type definition
|
||||
function checkType(type,value){
|
||||
if(type){
|
||||
if(typeof type == 'string' && type != 'any' &&
|
||||
(type == 'null' ? value !== null : typeof value != type) &&
|
||||
!(value instanceof Array && type == 'array') &&
|
||||
!(value instanceof Date && type == 'date') &&
|
||||
!(type == 'integer' && value%1===0)){
|
||||
return [{property:path,message:value + " - " + (typeof value) + " value found, but a " + type + " is required"}];
|
||||
}
|
||||
if(type instanceof Array){
|
||||
var unionErrors=[];
|
||||
for(var j = 0; j < type.length; j++){ // a union type
|
||||
if(!(unionErrors=checkType(type[j],value)).length){
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(unionErrors.length){
|
||||
return unionErrors;
|
||||
}
|
||||
}else if(typeof type == 'object'){
|
||||
var priorErrors = errors;
|
||||
errors = [];
|
||||
checkProp(value,type,path);
|
||||
var theseErrors = errors;
|
||||
errors = priorErrors;
|
||||
return theseErrors;
|
||||
}
|
||||
}
|
||||
return [];
|
||||
}
|
||||
if(value === undefined){
|
||||
if(schema.required){
|
||||
addError("is missing and it is required");
|
||||
}
|
||||
}else{
|
||||
errors = errors.concat(checkType(getType(schema),value));
|
||||
if(schema.disallow && !checkType(schema.disallow,value).length){
|
||||
addError(" disallowed value was matched");
|
||||
}
|
||||
if(value !== null){
|
||||
if(value instanceof Array){
|
||||
if(schema.items){
|
||||
var itemsIsArray = schema.items instanceof Array;
|
||||
var propDef = schema.items;
|
||||
for (i = 0, l = value.length; i < l; i += 1) {
|
||||
if (itemsIsArray)
|
||||
propDef = schema.items[i];
|
||||
if (options.coerce)
|
||||
value[i] = options.coerce(value[i], propDef);
|
||||
errors.concat(checkProp(value[i],propDef,path,i));
|
||||
}
|
||||
}
|
||||
if(schema.minItems && value.length < schema.minItems){
|
||||
addError("There must be a minimum of " + schema.minItems + " in the array");
|
||||
}
|
||||
if(schema.maxItems && value.length > schema.maxItems){
|
||||
addError("There must be a maximum of " + schema.maxItems + " in the array");
|
||||
}
|
||||
}else if(schema.properties || schema.additionalProperties){
|
||||
errors.concat(checkObj(value, schema.properties, path, schema.additionalProperties));
|
||||
}
|
||||
if(schema.pattern && typeof value == 'string' && !value.match(schema.pattern)){
|
||||
addError("does not match the regex pattern " + schema.pattern);
|
||||
}
|
||||
if(schema.maxLength && typeof value == 'string' && value.length > schema.maxLength){
|
||||
addError("may only be " + schema.maxLength + " characters long");
|
||||
}
|
||||
if(schema.minLength && typeof value == 'string' && value.length < schema.minLength){
|
||||
addError("must be at least " + schema.minLength + " characters long");
|
||||
}
|
||||
if(typeof schema.minimum !== 'undefined' && typeof value == typeof schema.minimum &&
|
||||
schema.minimum > value){
|
||||
addError("must have a minimum value of " + schema.minimum);
|
||||
}
|
||||
if(typeof schema.maximum !== 'undefined' && typeof value == typeof schema.maximum &&
|
||||
schema.maximum < value){
|
||||
addError("must have a maximum value of " + schema.maximum);
|
||||
}
|
||||
if(schema['enum']){
|
||||
var enumer = schema['enum'];
|
||||
l = enumer.length;
|
||||
var found;
|
||||
for(var j = 0; j < l; j++){
|
||||
if(enumer[j]===value){
|
||||
found=1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!found){
|
||||
addError("does not have a value in the enumeration " + enumer.join(", "));
|
||||
}
|
||||
}
|
||||
if(typeof schema.maxDecimal == 'number' &&
|
||||
(value.toString().match(new RegExp("\\.[0-9]{" + (schema.maxDecimal + 1) + ",}")))){
|
||||
addError("may only have " + schema.maxDecimal + " digits of decimal places");
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
// validate an object against a schema
|
||||
function checkObj(instance,objTypeDef,path,additionalProp){
|
||||
|
||||
if(typeof objTypeDef =='object'){
|
||||
if(typeof instance != 'object' || instance instanceof Array){
|
||||
errors.push({property:path,message:"an object is required"});
|
||||
}
|
||||
|
||||
for(var i in objTypeDef){
|
||||
if(objTypeDef.hasOwnProperty(i) && i != '__proto__' && i != 'constructor'){
|
||||
var value = instance.hasOwnProperty(i) ? instance[i] : undefined;
|
||||
// skip _not_ specified properties
|
||||
if (value === undefined && options.existingOnly) continue;
|
||||
var propDef = objTypeDef[i];
|
||||
// set default
|
||||
if(value === undefined && propDef["default"]){
|
||||
value = instance[i] = propDef["default"];
|
||||
}
|
||||
if(options.coerce && i in instance){
|
||||
value = instance[i] = options.coerce(value, propDef);
|
||||
}
|
||||
checkProp(value,propDef,path,i);
|
||||
}
|
||||
}
|
||||
}
|
||||
for(i in instance){
|
||||
if(instance.hasOwnProperty(i) && !(i.charAt(0) == '_' && i.charAt(1) == '_') && objTypeDef && !objTypeDef[i] && additionalProp===false){
|
||||
if (options.filter) {
|
||||
delete instance[i];
|
||||
continue;
|
||||
} else {
|
||||
errors.push({property:path,message:"The property " + i +
|
||||
" is not defined in the schema and the schema does not allow additional properties"});
|
||||
}
|
||||
}
|
||||
var requires = objTypeDef && objTypeDef[i] && objTypeDef[i].requires;
|
||||
if(requires && !(requires in instance)){
|
||||
errors.push({property:path,message:"the presence of the property " + i + " requires that " + requires + " also be present"});
|
||||
}
|
||||
value = instance[i];
|
||||
if(additionalProp && (!(objTypeDef && typeof objTypeDef == 'object') || !(i in objTypeDef))){
|
||||
if(options.coerce){
|
||||
value = instance[i] = options.coerce(value, additionalProp);
|
||||
}
|
||||
checkProp(value,additionalProp,path,i);
|
||||
}
|
||||
if(!_changing && value && value.$schema){
|
||||
errors = errors.concat(checkProp(value,value.$schema,path,i));
|
||||
}
|
||||
}
|
||||
return errors;
|
||||
}
|
||||
if(schema){
|
||||
checkProp(instance,schema,'',_changing || '');
|
||||
}
|
||||
if(!_changing && instance && instance.$schema){
|
||||
checkProp(instance,instance.$schema,'','');
|
||||
}
|
||||
return {valid:!errors.length,errors:errors};
|
||||
};
|
||||
exports.mustBeValid = function(result){
|
||||
// summary:
|
||||
// This checks to ensure that the result is valid and will throw an appropriate error message if it is not
|
||||
// result: the result returned from checkPropertyChange or validate
|
||||
if(!result.valid){
|
||||
throw new TypeError(result.errors.map(function(error){return "for property " + error.property + ': ' + error.message;}).join(", \n"));
|
||||
}
|
||||
}
|
||||
|
||||
return exports;
|
||||
}));
|
||||
27
resources/app/node_modules/json-schema/package.json
generated
vendored
Normal file
27
resources/app/node_modules/json-schema/package.json
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"name": "json-schema",
|
||||
"version": "0.4.0",
|
||||
"author": "Kris Zyp",
|
||||
"description": "JSON Schema validation and specifications",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "Kris Zyp",
|
||||
"email": "kriszyp@gmail.com"
|
||||
}
|
||||
],
|
||||
"files": [
|
||||
"lib"
|
||||
],
|
||||
"license": "(AFL-2.1 OR BSD-3-Clause)",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "http://github.com/kriszyp/json-schema"
|
||||
},
|
||||
"directories": {
|
||||
"lib": "./lib"
|
||||
},
|
||||
"main": "./lib/validate.js",
|
||||
"devDependencies": {
|
||||
"vows": "*"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user