cirruswave-j2m
Version:
28 lines (27 loc) • 14 kB
JavaScript
var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,c,e){a!=Array.prototype&&a!=Object.prototype&&(a[c]=e.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_";
$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.Symbol=function(){var a=0;return function(c){return $jscomp.SYMBOL_PREFIX+(c||"")+a++}}();
$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var a=$jscomp.global.Symbol.iterator;a||(a=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&$jscomp.defineProperty(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(a){var c=0;return $jscomp.iteratorPrototype(function(){return c<a.length?{done:!1,value:a[c++]}:{done:!0}})};
$jscomp.iteratorPrototype=function(a){$jscomp.initSymbolIterator();a={next:a};a[$jscomp.global.Symbol.iterator]=function(){return this};return a};$jscomp.makeIterator=function(a){$jscomp.initSymbolIterator();$jscomp.initSymbol();$jscomp.initSymbolIterator();var c=a[Symbol.iterator];return c?c.call(a):$jscomp.arrayIterator(a)};$jscomp.owns=function(a,c){return Object.prototype.hasOwnProperty.call(a,c)};
$jscomp.assign="function"==typeof Object.assign?Object.assign:function(a,c){for(var e=1;e<arguments.length;e++){var h=arguments[e];if(h)for(var f in h)$jscomp.owns(h,f)&&(a[f]=h[f])}return a};$jscomp.polyfill=function(a,c,e,h){if(c){e=$jscomp.global;a=a.split(".");for(h=0;h<a.length-1;h++){var f=a[h];f in e||(e[f]={});e=e[f]}a=a[a.length-1];h=e[a];c=c(h);c!=h&&null!=c&&$jscomp.defineProperty(e,a,{configurable:!0,writable:!0,value:c})}};
$jscomp.polyfill("Object.assign",function(a){return a||$jscomp.assign},"es6","es3");$jscomp.iteratorFromArray=function(a,c){$jscomp.initSymbolIterator();a instanceof String&&(a+="");var e=0,h={next:function(){if(e<a.length){var f=e++;return{value:c(f,a[f]),done:!1}}h.next=function(){return{done:!0,value:void 0}};return h.next()}};h[Symbol.iterator]=function(){return h};return h};
$jscomp.polyfill("Array.prototype.keys",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(a){return a})}},"es6","es3");$jscomp.findInternal=function(a,c,e){a instanceof String&&(a=String(a));for(var h=a.length,f=0;f<h;f++){var n=a[f];if(c.call(e,n,f,a))return{i:f,v:n}}return{i:-1,v:void 0}};$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,e){return $jscomp.findInternal(this,a,e).v}},"es6","es3");
$jscomp.polyfill("Array.prototype.findIndex",function(a){return a?a:function(a,e){return $jscomp.findInternal(this,a,e).i}},"es6","es3");
(function(){function a(a,n){h[a]||(e[a]={exports:{},loaded:!1},h[a]=!0,0===a&&"function"===typeof require?require.main=e[0]:e[a].parent=e[n],c[a].call(this,e[a],e[a].exports),e[a].loaded=!0);return e[a].exports}var c={},e={},h={};c[0]=function(a,e){function c(g){for(var b=void 0,a=0,d=g.length;a<d;a++){var q=g[a];if(0<a&&("integer"===q&&"number"===b?q="number":"number"===q&&"integer"===b&&(b="number"),b!==q))return null;b=q}return b}function h(g){return c(g.map(function(b){return m.getType(b)}))}
function f(g,b){return b(g)}function n(g,b,a){var d=!0,k=0,e="[a-z0-9]*",c="^"+e+"$",h;for(h in g.properties){if("object"!==g.properties[h].type){d=!1;break}if(0!==h.search(new RegExp(c,"i"))){c=h.replace(new RegExp(e,"gi"),"");for(var t in c)-1==e.indexOf(c[t])&&(e=e.replace("]",c[t]+"]"))}c="^"+e+"$";k++}if(d&&1<k){g.patternProperties={type:"object"};g.additionalProperties=!1;g.patternProperties[c]={properties:{}};d=g.patternProperties[c].properties;for(h in g.properties){k=g.properties[h].properties;
for(var f in k)d.hasOwnProperty(f)||(d[f]=k[f])}delete g.properties}return a(g,b)}function w(g,b,a,d){return d(g,b,a)}var u=Object.assign||function(a){for(var b=1;b<arguments.length;b++){var g=arguments[b],d;for(d in g)Object.prototype.hasOwnProperty.call(g,d)&&(a[d]=g[d])}return a},x=function(){function a(b,a){for(var g=0;g<a.length;g++){var k=a[g];k.enumerable=k.enumerable||!1;k.configurable=!0;"value"in k&&(k.writable=!0);Object.defineProperty(b,k.key,k)}}return function(b,g,d){g&&a(b.prototype,
g);d&&a(b,d);return b}}(),y=require("lodash").merge,p=require("lodash").isEqual,z=require("lodash").xor,r=require("lodash").keys;$jscomp.initSymbol();$jscomp.initSymbol();$jscomp.initSymbolIterator();var A="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(a){return typeof a}:function(a){$jscomp.initSymbol();$jscomp.initSymbol();$jscomp.initSymbol();return a&&"function"===typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},B={string:function(a){return"string"===
typeof a},number:function(a){return"number"===typeof a&&isFinite(a)},integer:function(a){return"number"===typeof a&&0===a%1},boolean:function(a){return"boolean"===typeof a},array:function(a){return a instanceof Array},null:function(a){return null===a},date:function(a){return a instanceof Date},any:function(a){return!0},object:function(a){return a&&"object"===("undefined"===typeof a?"undefined":A(a))&&!(a instanceof Array)&&!(a instanceof Date)}},l={"date-time":/^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])[tT ](2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])(\.\d+)?([zZ]|[+-]([0-5][0-9]):(60|[0-5][0-9]))$/,
date:/^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])$/,time:/^(2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])$/,email:/^(?:[\w!#$%&'*+-/=?^`{|}~]+\.)*[\w!#$%&'*+-/=?^`{|}~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9-](?!\.)){0,61}[a-zA-Z0-9]?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/,"ip-address":/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,ipv6:/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,
uri:/^[a-zA-Z][a-zA-Z0-9+-.]*:[^\s]*$/,color:/^(#?([0-9A-Fa-f]{3}){1,2}\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\(\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\)))$/,hostname:/^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$/,
"host-name":/^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$/,alpha:/^[a-zA-Z]+$/,alphanumeric:/^[a-zA-Z0-9]+$/,regex:function(a){var b=!0;try{b=new RegExp(a)}catch(k){b=!1}return b},style:/\s*(.+?):\s*([^;]+);?/g,phone:/^(\+?\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/};l.regexp=l.regex;l.pattern=l.regex;l.ipv4=l["ip-address"];var m={stringFormats:r(l),isFormat:function(a,b){if("string"===typeof a&&void 0!==l[b]){if(l[b]instanceof
RegExp)return l[b].test(a);if("function"===typeof l[b])return l[b](a)}return!0},typeNames:"integer number string array object boolean null date".split(" "),getType:function(a){return m.typeNames.find(function(b){return B[b](a)})},mergeSchemaObjs:function(a,b){var k=r(a),d=r(b);if(!p(k,d)){if("array"===a.type&&"array"===b.type&&p(z(k,d),["items"])){var g=k.length>d.length?b:a,e=k.length>d.length?a:b;if(r(g).reduce(function(a,b){return p(g[b],e[b])&&a},!0))return g}if("object"!==a.type||"object"!==
b.type){d={};for(var c in a)d[c]=a[c];for(c in b)0>k.indexOf(c)&&(d[c]=b[c]);return d}}d={};c=0;for(var h=k.length;c<h;c++){var f=k[c];if("object"===m.getType(a[f])){var l=m.mergeSchemaObjs(a[f],b[f]);if(l)d[f]=l;else{if("object"===a.type||"object"===b.type)return{type:"object"};if("items"!==f||"array"!==a.type||"array"!==b.type)return null}}else if("type"===f)if(a[f]!==b[f])if("integer"===a[f]&&"number"===b[f]||"number"===a[f]&&"integer"===b[f])d[f]="number";else return null;else d[f]=a[f];else{if(!p(a[f],
b[f]))return null;d[f]=a[f]}}return d}},C={required:!1,postProcessFnc:null,strings:{detectFormat:!0,preProcessFnc:null},arrays:{mode:"all",preProcessFnc:null},objects:{preProcessFnc:null,postProcessFnc:null,additionalProperties:!0}},D="hostname host-name alpha alphanumeric regex regexp pattern".split(" "),v=m.stringFormats.filter(function(a){return 0>D.indexOf(a)}),E=function(){function a(b){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.options=y({},C,b);this.getObjectSchemaDefault=
this.getObjectSchemaDefault.bind(this);this.getStringSchemaDefault=this.getStringSchemaDefault.bind(this);this.objectPostProcessDefault=this.objectPostProcessDefault.bind(this);this.commmonPostProcessDefault=this.commmonPostProcessDefault.bind(this);this.objectPostProcessDefault=this.objectPostProcessDefault.bind(this)}x(a,[{key:"getCommonArrayItemSchema",value:function(a){var b=this;a=a.map(function(a){return b.getSchema(a)});return a.reduce(function(a,b){return m.mergeSchemaObjs(a,b)},a.pop())}},
{key:"getObjectSchemaDefault",value:function(a){var b=this,d={type:"object"},c=Object.keys(a);0<c.length&&(d.properties=c.reduce(function(k,d){k[d]=b.getSchema(a[d]);return k},{}));return d}},{key:"getObjectSchema",value:function(a){return this.options.objects.preProcessFnc?this.options.objects.preProcessFnc(a,this.getObjectSchemaDefault):this.getObjectSchemaDefault(a)}},{key:"getArraySchemaMerging",value:function(a){var b={type:"array"},d=h(a);if(d)if(b.items={type:d},"integer"!==d&&"number"!==d){if(a=
this.getCommonArrayItemSchema(a))b.items=a}else this.options.required&&(b.items.required=!0);return b}},{key:"getArraySchemaFirst",value:function(a){var b={type:"array"};0<a.length&&(b.items=this.getSchema(a[0]));return b}},{key:"getArraySchemaUniform",value:function(a){var b=this.getArraySchemaFirst(a);if(1<a.length)for(var d=1;d<a.length;d++)if(!p(b.items,this.getSchema(a[d])))throw Error("Invalid schema, incompatible array items");return b}},{key:"getArraySchemaNoMerging",value:function(a){var b=
{type:"array"},d=[];a=$jscomp.makeIterator(a);for(var c=a.next();!c.done;c=a.next()){var e=!0;c=this.getSchema(c.value);for(var f=$jscomp.makeIterator(d),g=f.next();!g.done;g=f.next())if(p(c,g.value)){e=!1;break}e&&("object"==c.type&&(c.additionalProperties=!1),d.push(c))}b.items=1<d.length?{anyOf:d}:d;return b}},{key:"getArraySchema",value:function(a){if(0===a.length)return{type:"array"};switch(this.options.arrays.mode){case "all":return this.getArraySchemaMerging(a);case "first":return this.getArraySchemaFirst(a);
case "uniform":return this.getArraySchemaUniform(a);case "nomerge":return this.getArraySchemaNoMerging(a);default:throw Error("Unknown array mode option '"+this.options.arrays.mode+"'");}}},{key:"getStringSchemaDefault",value:function(a){var b={type:"string"};if(!this.options.strings.detectFormat)return b;var d=v.findIndex(function(b){return m.isFormat(a,b)});0<=d&&(b.format=v[d],"phone"==b.format&&(b.format=l.phone.toString()),"style"==b.format&&(b.format=l.style.toString()));return b}},{key:"getStringSchema",
value:function(a){return this.options.strings.preProcessFnc?this.options.strings.preProcessFnc(a,this.getStringSchemaDefault):this.getStringSchemaDefault(a)}},{key:"commmonPostProcessDefault",value:function(a,c,d){return this.options.required?u({},c,{required:!0}):c}},{key:"objectPostProcessDefault",value:function(a,c){return!1===this.options.objects.additionalProperties&&0<Object.getOwnPropertyNames(c).length?u({},a,{additionalProperties:!1}):a}},{key:"getSchema",value:function(a){var b=m.getType(a);
if(!b)throw Error("Type of value couldn't be determined");switch(b){case "object":var d=this.getObjectSchema(a);break;case "array":d=this.getArraySchema(a);break;case "string":d=this.getStringSchema(a);break;default:d={type:b}}d=this.options.postProcessFnc?this.options.postProcessFnc(b,d,a,this.commmonPostProcessDefault):this.commmonPostProcessDefault(b,d,a);"object"===b&&(d=this.options.objects.postProcessFnc?this.options.objects.postProcessFnc(d,a,this.objectPostProcessDefault):this.objectPostProcessDefault(d,
a));return d}}]);return a}();e.GenerateSchema=function(a,b){var c={objects:{preProcessFnc:f},postProcessFnc:w,arrays:{mode:"nomerge"}};b&&(c.objects.postProcessFnc=n);return(new E(c)).getSchema(a)};e.GenerateSchemaFromArrJSON=function(a){var b={anyOf:[]};a=$jscomp.makeIterator(a);for(var c=a.next();!c.done;c=a.next())c=this.GenerateSchema(c.value,!1),"object"==c.type&&(c.additionalProperties=!1),b.anyOf.push(c);return b};return a.exports};if("object"===typeof module)module.exports=a(0);else return a(0)})();