UNPKG

djvi

Version:
1 lines 7.61 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.djvi=t():e.djvi=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){function r(){return this instanceof r?void(this.resolved={}):new r}var i=n(2),o=n(3);r.prototype={instance:function(e,t){var n=this.resolve(e).data;return t===!1?n:JSON.parse(JSON.stringify(n))},addSchema:function(e,t){return this.resolved[e]={name:e,schema:t,data:i(this,t).data}},removeSchema:function(e){e?delete this.resolved[e]:this.resolved={}},resolve:function(e){return this.resolved[e]||this.addSchema(e,o.resolve(e,Object.assign([],{current:[]},this.resolved))),this.resolved[e]},export:function(e){var t=e?this.resolve(e):this.resolved;return JSON.stringify(t)},import:function(e){var t=JSON.parse(e);if(t.name&&t.data&&t.schema){var n={};n[t.name]=t}else n=t;for(var r in n){var t={name:n[r].name,schema:n[r].schema,data:n[r].data};this.resolved[t.name]=t}},utils:function(){return{types:o.types,fieldTypes:o.fieldTypes,fieldValidate:o.fieldValidate,fieldFormat:o.fieldFormat}}},e.exports=r},function(e,t,n){var r=n(3);e.exports=function e(t,i,o){function a(e){}return o=o||Object.assign([i],{current:[0]},t.resolved),Object.assign(a,r,{data:{},schema:["schema"],context:Object.assign([],{schema:i}),resolve:function(n){var i=o.length,s=r.resolve(n,o)||{};return i=i!==o.length,"object"==typeof s&&(s=a.context.push(e(t,s,o).data),i&&o.splice(o.current.pop(),o.length)),a.context[a.context.length-1]},visit:function(e){o.push(e),["type","required","property","default","allOf","anyOf","items","$ref","dependencies","not"].forEach(function(t){return n(4)("./"+t)(e,a)})},extend:function(e){"object"!=typeof e||null===e?a.data=e:Object.assign(a.data,e)},push:a}),a.visit(i),a}},function(e,t){var n={null:null,string:"",boolean:!1,number:0,integer:0,object:Object,array:Array},r={alpha:"!/^[a-zA-Z]+$/.test(%s)",alphanumeric:"!/^[a-zA-Z0-9]+$/.test(%s)",identifier:"!/^[-_a-zA-Z0-9]+$/.test(%s)",hexadecimal:"!/^[a-fA-F0-9]+$/.test(%s)",numeric:"!/^[0-9]+$/.test(%s)","date-time":"isNaN(Date.parse(%s)) || ~%s.indexOf('/')",uppercase:"%s !== %s.toUpperCase()",lowercase:"%s !== %s.toLowerCase()",hostname:"%s.length >= 256 || !/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])(\\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9]))*$/.test(%s)",uri:"!/[-a-zA-Z0-9@:%_\\+.~#?&//=]{2,256}\\.[a-z]{2,4}\\b(\\/[-a-zA-Z0-9@:%_\\+.~#?&//=]*)?/.test(%s)",email:"!/^[^@]+@[^@]+\\.[^@]+$/.test(%s)",ipv4:'!/^(\\d?\\d?\\d){0,255}\\.(\\d?\\d?\\d){0,255}\\.(\\d?\\d?\\d){0,255}\\.(\\d?\\d?\\d){0,255}$/.test($1) || $1.split(".")[3] > 255',ipv6:"!/^((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|$))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})$/.test(%s)"},i={readOnly:"false",minimum:function(e){return e.minimum+(e.exclusiveMinimum?1:0)},maximum:function(e){return e.maximum-(e.exclusiveMaximum?1:0)},multipleOf:function(e,t){return e.multipleOf},pattern:function(e){var t,n;"string"==typeof e.pattern?t=e.pattern:(t=e.pattern[0],n=e.pattern[1]);var r=new RegExp(t,n);return'typeof ($1) === "string" && !'+r+".test($1)"},minLength:function(e){return new Array(e.minLength+1).join(" ")},maxLength:function(e){return new Array(e.maxLength+1).join(" ")},minItems:function(e,t){return new Array(e.minItems).join(" ").split(" ").map(function(){return t.resolve({})})},maxItems:function(e,t){return new Array(e.maxItems).join(" ").split(" ").map(function(){return t.resolve({})})},uniqueItems:function(e,t){return{}},minProperties:function(e,t){for(var n=t.data||{},r=e.minProperties-Object.keys(n).length,i=0;i<r;i++)n[i]=t.resolve({});return n},maxProperties:function(){return{}},constant:function(e,t){return JSON.stringify(e)==JSON.stringify(t)},enum:function(e){return e.enum[0]}},o=["type","not","anyOf","allOf","oneOf","$ref","$schema","id","exclusiveMaximum","exclusiveMininum","properties","patternProperties","additionalProperties","items","additionalItems","required","default","title","description","definitions","dependencies"];e.exports={types:["object","number","string","boolean","array","null"],fieldType:function(e){var t=n[e||"object"];return"function"==typeof t?new t:t},fieldTypes:n,keywords:o,fieldValidate:i,fieldFormat:r,resolve:function(e,t){if("#"===e)return 0;if("string"!=typeof e)return e;var n=e.split(/#\/?/),r=n[0]||"#",i=n[1],o=i&&i.split("/");if("#"===r)var a=t[t.current[t.current.length-1]];else t.hasOwnProperty(r)||(r=t.slice(t.current[t.current.length-1]+1).map(function(e){return e.id}).join("")+r),a=t[r].schema;for(t.current.push(t.length),t.push(a);o&&o.length>0;){var s=decodeURIComponent(o[0].replace(/~1/g,"/").replace(/~0/g,"~"));if(!a.hasOwnProperty(s))throw new Error("Schema not found");a=a[s],t.push(a),o.shift()}return a}}},function(e,t,n){function r(e){return n(i(e))}function i(e){return o[e]||function(){throw new Error("Cannot find module '"+e+"'.")}()}var o={"./$ref":5,"./$ref.js":5,"./allOf":6,"./allOf.js":6,"./anyOf":7,"./anyOf.js":7,"./default":8,"./default.js":8,"./dependencies":9,"./dependencies.js":9,"./items":10,"./items.js":10,"./not":11,"./not.js":11,"./property":12,"./property.js":12,"./required":13,"./required.js":13,"./type":14,"./type.js":14};r.keys=function(){return Object.keys(o)},r.resolve=i,e.exports=r,r.id=4},function(e,t){e.exports=function(e,t){if(e.hasOwnProperty("$ref")){var n=t.resolve(e.$ref);t.data=n}}},function(e,t){e.exports=function(e,t){Array.isArray(e.allOf)&&e.allOf.forEach(function(e){var n=t.resolve(e);t.extend(n)})}},function(e,t){e.exports=function(e,t){["anyOf","oneOf"].forEach(function(n){if(Array.isArray(e[n])){var r=e[n][0],i=t.resolve(r);t.extend(i)}})}},function(e,t){e.exports=function(e,t){"default"in e&&(t.data=e.default)}},function(e,t){e.exports=function(e,t){if(e.hasOwnProperty("dependencies"))for(var n in e.dependencies){var r=e.dependencies[n];if(Array.isArray(r)||"string"==typeof r){if(!e.required||!~e.required.indexOf(n))continue;[].concat(r).forEach(function(n){t.data[n]=t.resolve(e.properties&&e.properties[n])})}else"object"==typeof r&&t.extend(t.resolve(r))}}},function(e,t){e.exports=function(e,t){return 0===e.minItems?void(t.data=[]):void("items"in e&&(Array.isArray(e.items)?t.data=e.items.map(function(e){return t.resolve(e)}):t.data=[t.resolve(e.items)]))}},function(e,t){e.exports=function(e,t){if(e.hasOwnProperty("not")){var n=JSON.parse(JSON.stringify(e.not));if(n.type=n.type||"object","type"in n){var r=[].concat(n.type),i=t.types.find(function(e){return!~r.indexOf(e)});i&&(n.type=i,t.data=t.resolve(n))}}}},function(e,t,n){var r=n(3).keywords;e.exports=function(e,t){for(var n in e)if(!~r.indexOf(n))if("format"===n)t.fieldFormat[e[n]]&&t("if ("+t.fieldFormat[e[n]]+")",t.data)(t.error("format"));else{var i=t.fieldValidate[n];if(!i)return;"function"==typeof i&&(i=i(e,t)),t.data=i}}},function(e,t){e.exports=function(e,t){Array.isArray(e.required)&&e.required.forEach(function(n){var r;if("patternProperties"in e)for(var i in e.patternProperties)if(new RegExp(i).test(n)){r=t.resolve(e.patternProperties[i]);break}"undefined"==typeof r&&(r=t.resolve(e.properties&&e.properties[n])),t.data[n]=r})}},function(e,t){e.exports=function e(t,n){var e=t.type;t.type instanceof Array&&(e=t.type[0]),n.data=n.fieldType(e)}}])});