Skip to content
Snippets Groups Projects
Select Git revision
  • bc2c6fda310b89fa4607e912f84bf93d97a6bba0
  • master default protected
  • iopsys
  • develop
  • gh-pages
  • 0.4.x
  • v0.5.0-rc23
  • v0.5.0-rc22
  • v0.5.0-rc21
  • v0.5.0-rc20
  • v0.5.0-rc19
  • v0.5.0-rc18
  • v0.5.0-rc17
  • 0.5.0-rc16
  • v0.5.0-rc15
  • v0.4.7
  • v0.5.0-rc12
  • v0.5.0-rc11
  • v0.4.3
  • v0.5.0-rc10
  • v0.5.0-rc9
  • v0.5.0-rc8
  • v0.5.0-rc7
  • v0.5.0-rc6
  • v0.5.0-rc5
  • v0.5.0-rc4
26 results

index.umd.min.js

Blame
  • user avatar
    Alvaro Cabrera Durán authored
    bc2c6fda
    History
    index.umd.min.js 20.97 KiB
    /*!
     * json-schema-faker v0.5.0-rc17
     * (c) Alvaro Cabrera <pateketrueke@gmail.com> (https://soypache.co)
     * Released under the MIT License.
     */
    !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("json-schema-ref-parser"),require("randexp"),require("jsonpath-plus")):"function"==typeof define&&define.amd?define(["json-schema-ref-parser","randexp","jsonpath-plus"],t):(e=e||self).JSONSchemaFaker=t(e.$RefParser,e.RandExp,e.jsonpathPlus)}(this,function(e,t,r){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e,t=t&&t.hasOwnProperty("default")?t.default:t;var n=function(){this.data={}};n.prototype.unregister=function(e){e?delete this.data[e]:this.data={}},n.prototype.register=function(e,t){this.data[e]=t},n.prototype.registerMany=function(e){var t=this;Object.keys(e).forEach(function(r){t.data[r]=e[r]})},n.prototype.get=function(e){return this.data[e]},n.prototype.list=function(){return this.data};var i={defaultInvalidTypeProduct:null,defaultRandExpMax:10,ignoreProperties:[],ignoreMissingRefs:!1,failOnInvalidTypes:!0,failOnInvalidFormat:!0,alwaysFakeOptionals:!1,optionalsProbability:!1,fixedProbabilities:!1,useExamplesValue:!1,useDefaultValue:!1,requiredOnly:!1,minItems:0,maxItems:null,minLength:0,maxLength:null,resolveJsonPath:!1,reuseProperties:!1,fillProperties:!0,replaceEmptyByRandomValue:!1};i.random=Math.random;var a=new(function(e){function t(){e.call(this),this.data=Object.assign({},i),this._defaults=i}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={defaults:{configurable:!0}};return r.defaults.get=function(){return Object.assign({},this._defaults)},Object.defineProperties(t.prototype,r),t}(n));function o(e,t){return"string"==typeof e?void 0!==t?a.register(e,t):a.get(e):a.registerMany(e)}o.getDefaults=function(){return a.defaults};var u=["integer","number","string","boolean","null"],s={SCALAR_TYPES:u,ALL_TYPES:["array","object"].concat(u),MIN_NUMBER:-100,MAX_NUMBER:100,MIN_INTEGER:-1e8,MAX_INTEGER:1e8,MOST_NEAR_DATETIME:2524608e6};function f(e,t,r,n,i){return void 0===i&&(i=!1),r=void 0===r?s.MIN_NUMBER:r,n=void 0===n?s.MAX_NUMBER:n,(t=void 0===t?n:t)<(e=void 0===e?r:e)&&(t+=e),i?function(e,t){return o("random")()*(t-e)+e}(e,t):function(e,t){return e=void 0===e?s.MIN_INTEGER:e,t=void 0===t?s.MAX_INTEGER:t,Math.floor(o("random")()*(t-e+1))+e}(e,t)}var c={pick:function(e){return e[Math.floor(o("random")()*e.length)]},date:function(e){if(e)return function(e){switch(e){case"seconds":return 60*f(0,60);case"minutes":return 612*f(15,50);case"hours":return 36123*f(12,72);case"days":return 86412345*f(7,30);case"weeks":return 604812345*f(4,52);case"months":return 2592012345*f(2,13);case"years":return 31104012345*f(1,20)}}(e);var t=new Date,r=f(-1e3,s.MOST_NEAR_DATETIME);return t.setTime(t.getTime()-r),t},shuffle:function(e){for(var t,r,n=e.length,i=e.slice();n>0;)r=Math.floor(o("random")()*n),t=i[n-=1],i[n]=i[r],i[r]=t;return i},number:f,randexp:function(e){return t.prototype.max=o("defaultRandExpMax"),t.prototype.randInt=function(e,t){return e+Math.floor(o("random")()*(t-e+1))},new t(e).gen()}};function m(e,t){return Object.keys(t).forEach(function(r){"object"!=typeof t[r]||null===t[r]?e[r]=t[r]:Array.isArray(t[r])?(e[r]=e[r]||[],t[r].forEach(function(t){-1===e[r].indexOf(t)&&e[r].push(t)})):"object"!=typeof e[r]||null===e[r]||Array.isArray(e[r])?e[r]=m({},t[r]):e[r]=m(e[r],t[r])}),e}function l(){return c.pick([!1,!0,null,-1,NaN,Math.PI,1/0,void 0,[],{},Math.random(),Math.random().toString(36).substr(2)])}var p={getSubAttribute:function(e,t){for(var r=t.split(".");r.length;){var n=r.shift();if(!e[n])break;e=e[n]}return e},hasProperties:function(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];return t.filter(function(t){return void 0!==e[t]}).length>0},omitProps:function(e,t){var r={};return Object.keys(e).forEach(function(n){-1===t.indexOf(n)&&(Array.isArray(e[n])?r[n]=e[n].slice():r[n]=e[n]instanceof Object?m({},e[n]):e[n])}),r},typecast:function(e,t,r){var n={};switch(e||t.type){case"integer":case"number":if(void 0!==t.minimum&&(n.minimum=t.minimum),void 0!==t.maximum&&(n.maximum=t.maximum),t.enum){var i=Math.max(n.minimum||0,0),a=Math.min(n.maximum||1/0,1/0);t.exclusiveMinimum&&i===t.minimum&&(i+=t.multipleOf||1),t.exclusiveMaximum&&a===t.maximum&&(a-=t.multipleOf||1),(i||a!==1/0)&&(t.enum=t.enum.filter(function(e){return e>=i&&e<=a}))}break;case"string":void 0!==t.minLength&&(n.minLength=t.minLength),void 0!==t.maxLength&&(n.maxLength=t.maxLength);var u=o("maxLength"),s=o("minLength");u&&n.maxLength>u&&(n.maxLength=u),s&&n.minLength<s&&(n.minLength=s)}var f=r(n);switch(e||t.type){case"number":f=parseFloat(f);break;case"integer":f=parseInt(f,10);break;case"boolean":f=!!f;break;case"string":f=String(f);for(var m=Math.max(n.minLength||0,0),l=Math.min(n.maxLength||1/0,1/0);f.length<m;)t.pattern?f+=c.randexp(t.pattern):f+=""+c.pick([" ","/","_","-","+","=","@","^"])+f;switch(f.length>l&&(f=f.substr(0,l)),t.format){case"date-time":case"datetime":f=new Date(f).toISOString().replace(/([0-9])0+Z$/,"$1Z");break;case"date":f=new Date(f).toISOString().substr(0,10);break;case"time":f=new Date("1969-01-01 "+f).toISOString().substr(11)}}return f},merge:m,clone:function e(t,r){if(void 0===r&&(r=new Map),!t||"object"!=typeof t)return t;if(r.has(t))return r.get(t);if(Array.isArray(t)){var n=[];return r.set(t,n),n.push.apply(n,t.map(function(t){return e(t,r)})),n}var i={};return r.set(t,i),Object.keys(t).reduce(function(n,i){return n[i]=e(t[i],r),n},i)},short:function(e){var t=JSON.stringify(e),r=JSON.stringify(e,null,2);return t.length>400?r.substr(0,400)+"...":r},notValue:function(e,t){var r=m({},t);if(void 0!==e.minimum&&(r.maximum=e.minimum,r.exclusiveMaximum=!0),void 0!==e.maximum&&(r.minimum=e.maximum>r.maximum?0:e.maximum,r.exclusiveMinimum=!0),void 0!==e.minLength&&(r.maxLength=e.minLength),void 0!==e.maxLength&&(r.minLength=e.maxLength>r.maxLength?0:e.maxLength),e.type)r.type=c.pick(s.SCALAR_TYPES.filter(function(t){return(Array.isArray(e.type)?e.type:[e.type]).every(function(e){return"number"===t||"integer"===t?"number"!==e&&"integer"!==e:t!==e})}));else if(e.enum){var n;do{n=l()}while(-1!==e.enum.indexOf(n));r.enum=[n]}return e.required&&r.properties&&e.required.forEach(function(e){delete r.properties[e]}),r},anyValue:l,validate:function(e,t){return!t.every(function(t){return void 0!==t.minimum&&e>=t.minimum||void 0!==t.maximum&&e<=t.maximum})},isKey:function(e){return-1!==["enum","const","default","examples","required","definitions"].indexOf(e)},template:function e(t,r){return Array.isArray(t)?t.map(function(t){return e(t,r)}):("string"==typeof t&&(t=t.replace(/#\{([\w.-]+)\}/g,function(e,t){return r[t]})),t)}};var d=function(){this.registry={},this.support={}};d.prototype.reset=function(e){e?(delete this.registry[e],delete this.support[e]):(this.registry={},this.support={})},d.prototype.extend=function(e,t){var r,n=this;this.registry[e]=t(this.registry[e]),this.support[e]||(this.support[e]=(r=function(){return n.registry[e]},function(e,t,n,i){var a=e,o=[];"object"==typeof e&&(a=Object.keys(e)[0],Array.isArray(e[a])?o=e[a]:o.push(e[a]));for(var u=a.split("."),s=r();u.length>1;)s=s[u.shift()];return"function"==typeof(e="object"==typeof s?s[u[0]]:s)&&(e=e.apply(s,o.map(function(e){return p.template(e,i)}))),"[object Object]"===Object.prototype.toString.call(e)&&Object.keys(e).forEach(function(t){if("function"==typeof e[t])throw new Error("Cannot resolve value for '"+n+": "+a+"', given: "+e)}),e}))},d.prototype.define=function(e,t){this.support[e]=t},d.prototype.get=function(e){if(void 0===this.registry[e])throw new ReferenceError("'"+e+"' dependency doesn't exist.");return this.registry[e]},d.prototype.wrap=function(e){for(var t=this,r=Object.keys(e),n={},i=r.length,a=function(){var a=r[i].replace(/^x-/,""),o=t.support[a];if("function"==typeof o)return Object.defineProperty(e,"generate",{configurable:!1,enumerable:!1,writable:!1,value:function(t){return o.call(n,e[r[i]],e,r[i],t)}}),"break"};i--;){if("break"===a())break}return e};var h=new n;function y(e,t){if(void 0===e)return h.list();if("string"==typeof e)if("function"==typeof t)h.register(e,t);else{if(null!==t&&!1!==t)return h.get(e);h.unregister(e)}else h.registerMany(e)}var g=function(e){function t(t,r){e.call(this),e.captureStackTrace&&e.captureStackTrace(this,this.constructor),this.name="ParseError",this.message=t,this.path=r}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(Error),v={array:["additionalItems","items","maxItems","minItems","uniqueItems"],integer:["exclusiveMaximum","exclusiveMinimum","maximum","minimum","multipleOf"],object:["additionalProperties","dependencies","maxProperties","minProperties","patternProperties","properties","required"],string:["maxLength","minLength","pattern","format"]};v.number=v.integer;var b=["additionalItems","items","additionalProperties","dependencies","patternProperties","properties"];function x(e,t,r){return Object.keys(e).filter(function(e){var n=b.indexOf(t)>-1;return!(!(r.indexOf(e)>-1)||n)}).length>0}var O=function(){return o("random")()>.5};var j=function(){return null};function A(e){var t=void 0===e.minimum?s.MIN_INTEGER:e.minimum,r=void 0===e.maximum?s.MAX_INTEGER:e.maximum,n=e.multipleOf;if(n&&(r=Math.floor(r/n)*n,t=Math.ceil(t/n)*n),e.exclusiveMinimum&&t===e.minimum&&(t+=n||1),e.exclusiveMaximum&&r===e.maximum&&(r-=n||1),t>r)return NaN;if(n){if(-1===String(n).indexOf(".")){for(var i=c.number(Math.floor(t/n),Math.floor(r/n))*n;i<t;)i+=e.multipleOf;return i}var a,o,u=(r-t)/n;do{o=(a=c.number(0,u)*n)/n%1}while(0!==o);return a}return c.number(t,r,void 0,void 0,!0)}var k="Lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor incididunt ut labore\net dolore magna aliqua Ut enim ad minim veniam quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea\ncommodo consequat Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla\npariatur Excepteur sint occaecat cupidatat non proident sunt in culpa qui officia deserunt mollit anim id est\nlaborum".split(/\W/);function E(e){return c.shuffle(k).slice(0,e)}var w={type:["string","number","integer","boolean"]};function M(){return E(c.number(1,5)).join(" ")}function P(e,t){void 0===e&&(e=0),void 0===t&&(t=140);for(var r=Math.max(0,e),n=c.number(r,t),i=M();i.length<r;)i+=M();return i.length>n&&(i=i.substr(0,n)),i}function I(){return c.date().toISOString()}var L="https?://{hostname}(?:[a-zA-Z][a-zA-Z0-9+-.]*)+",_={email:"[a-zA-Z\\d][a-zA-Z\\d-]{1,13}[a-zA-Z\\d]@{hostname}",hostname:"[a-zA-Z]{1,33}\\.[a-z]{2,4}",ipv6:"[a-f\\d]{4}(:[a-f\\d]{4}){7}",uri:L,slug:"[a-zA-Z\\d_-]+","uri-reference":L+"(?:\\?([a-z]{1,7}(=\\w{1,5})?&){0,3})?","uri-template":L.replace("(?:","(?:/\\{[a-z][:a-zA-Z0-9-]*\\}|"),"json-pointer":"(/(?:"+"[a-zA-Z][a-zA-Z0-9+-.]*".replace("]*","/]*")+"|~[01]))+",uuid:"^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$"};_.iri=_["uri-reference"],_["iri-reference"]=_["uri-reference"],_["idn-email"]=_.email,_["idn-hostname"]=_.hostname;var S=new RegExp("\\{("+Object.keys(_).join("|")+")\\}");function R(e,t){var r,n=y(e.format);if("function"==typeof n)return n(e);switch(e.format){case"date-time":case"datetime":return I();case"date":return I().slice(0,10);case"time":return I().slice(11);case"ipv4":return[0,0,0,0].map(function(){return c.number(0,255)}).join(".");case"regex":return".+?";case"email":case"hostname":case"ipv6":case"uri":case"uri-reference":case"iri":case"iri-reference":case"idn-email":case"idn-hostname":case"json-pointer":case"slug":case"uri-template":case"uuid":return r=e.format,c.randexp(_[r]).replace(S,function(e,t){return c.randexp(_[t])});default:if(void 0===n){if(o("failOnInvalidFormat"))throw new Error("unknown registry key "+p.short(e.format));return t()}throw new Error("unsupported format '"+e.format+"'")}}var N={boolean:O,null:j,array:function(e,t,r,n){var i=[];if(!e.items&&!e.additionalItems){if(p.hasProperties(e,"minItems","maxItems","uniqueItems"))throw new g("missing items for "+p.short(e),t);return i}if(Array.isArray(e.items))return e.items.map(function(e,i){var a=t.concat(["items",i]);return n(e,a,r)});var a=e.minItems,u=e.maxItems;o("minItems")&&(a=u?Math.min(o("minItems"),u):o("minItems")),o("maxItems")&&(u&&u>o("maxItems")&&(u=o("maxItems")),a&&a>o("maxItems")&&(a=u));var s=!0===o("alwaysFakeOptionals")?1:o("optionalsProbability"),f=o("alwaysFakeOptionals")||o("fixedProbabilities")||!1,m=c.number(a,u,1,5);!1!==s&&(m=Math.max(f?Math.round((u||m)*s):Math.abs(c.number(a,u)*s),a||0));for(var l="object"==typeof e.additionalItems?e.additionalItems:{},d=i.length;d<m;d+=1){var h=t.concat(["items",d]),y=n(e.items||l,h,r);i.push(y)}return e.uniqueItems?function(e,t,r,n,i,a){var o=[],u=[];function s(e){var t=JSON.stringify(e);return-1===u.indexOf(t)&&(u.push(t),o.push(e),!0)}t.forEach(s);for(var f=100;o.length!==t.length&&(s(a(r.items||n,e,i))||(f-=1),f););return o}(t.concat(["items"]),i,e,l,r,n):i},integer:function(e){return A(Object.assign({multipleOf:1},e))},number:A,object:function(e,t,r,n){var i={},a=e.properties||{},u=e.patternProperties||{},s="boolean"==typeof e.required?[]:(e.required||[]).slice(),f=!1!==e.additionalProperties,m=Object.keys(a),l=Object.keys(u),d=m.concat(l).reduce(function(e,t){return-1===s.indexOf(t)&&e.push(t),e},[]),h=s.concat(d),y=f&&!0===e.additionalProperties?w:e.additionalProperties;if(!f&&0===m.length&&0===l.length&&p.hasProperties(e,"minProperties","maxProperties","dependencies","required"))return null;if(!0===o("requiredOnly"))return s.forEach(function(e){a[e]&&(i[e]=a[e])}),n(i,t.concat(["properties"]),r);var g=!0===o("alwaysFakeOptionals")?1:o("optionalsProbability"),v=o("alwaysFakeOptionals")||o("fixedProbabilities")||!1,b=o("ignoreProperties")||[],x=Math.max(e.minProperties||0,c.number(s.length,h.length)),O=e.maxProperties||h.length+(f?c.number(1,5):0),j=Math.max(0,x-s.length);1!==h.length||s.length||(j=c.number(j,h.length+(h.length-x))),!1!==g&&(j=!0===v?Math.round(x-s.length+g*(h.length-x)):c.number(x-s.length,g*(h.length-x)));var A=c.shuffle(d).slice(0,j),k=d.filter(function(e){return-1!==A.indexOf(e)}),M=s.concat(k).slice(0,O),P=[];if(e.dependencies&&(Object.keys(e.dependencies).forEach(function(t){var r=e.dependencies[t];-1!==M.indexOf(t)&&(Array.isArray(r)?r.forEach(function(e){-1===M.indexOf(e)&&M.push(e)}):P.push(r))}),P.length))return delete e.dependencies,n({allOf:P.concat(e)},t.concat(["properties"]),r);var I=[];M.forEach(function(e){for(var t=0;t<b.length;t+=1)if(b[t]instanceof RegExp&&b[t].test(e)||"string"==typeof b[t]&&b[t]===e||"function"==typeof b[t]&&b[t](a[e],e))return void I.push(e);var r;if(!1===y&&-1!==s.indexOf(e)&&(i[e]=a[e]),a[e]&&(i[e]=a[e]),l.forEach(function(t){e.match(new RegExp(t))&&(r=!0,i[e]?p.merge(i[e],u[t]):i[c.randexp(e)]=u[t])}),!r){var n=u[e]||y;n&&!1!==y&&(i[u[e]?c.randexp(e):e]=a[e]||n)}});var L,_=o("fillProperties"),S=o("reuseProperties"),R=Object.keys(i).length+(_?0:I.length);function N(e){var t;do{if(!e.length)break;t=e.shift()}while(i[t]);return t}for(;_&&(l.length||f)&&!(R>=x);){if(f)if(S&&m.length-R>x){var T=0,q=void 0;do{if((T+=1)>1e3)break;q=N(s)||c.pick(m)}while(void 0!==i[q]);void 0===i[q]&&(i[q]=a[q],R+=1)}else if(l.length&&!y){var $=c.pick(l),z=c.randexp($);i[z]||(i[z]=u[$],R+=1)}else{var Z=N(s)||E(1)+(L=void 0,c.randexp("_?[_a-f\\d]{1,3}"+(L?"\\$?":"")));i[Z]||(i[Z]=y||w,R+=1)}for(var D=0;R<x&&D<l.length;D+=1){var F=l[D],J=c.randexp(F);i[J]||(i[J]=u[F],R+=1)}}if(0===s.length&&(!f||!1===g))for(var V=c.number(x,O);R<V;){var B=N(m);B&&(i[B]=a[B]),R+=1}return n(i,t.concat(["properties"]),r)},string:function(e){return p.typecast("string",e,function(t){return e.format?R(e,function(){return P(t.minLength,t.maxLength)}):e.pattern?c.randexp(e.pattern):P(t.minLength,t.maxLength)})}};function T(e,t,r,n){if(e=r(e,t)){if("properties"!==t[t.length-1]){if(o("useExamplesValue")&&Array.isArray(e.examples)){var i=e.examples.concat("default"in e?[e.default]:[]);return p.typecast(null,e,function(){return c.pick(i)})}if(o("useDefaultValue")&&"default"in e&&(""!==e.default||!o("replaceEmptyByRandomValue")))return e.default;if("template"in e)return p.template(e.template,n)}if(e.not&&"object"==typeof e.not&&(e=p.notValue(e.not,p.omitProps(e,["not"]))).type&&"object"===e.type)return T(e,t.concat(["not"]),r,n);if("const"in e)return e.const;if(Array.isArray(e.enum))return p.typecast(null,e,function(){return c.pick(e.enum)});if("function"==typeof e.thunk)return T(e.thunk(),t,r);if("function"==typeof e.generate)return p.typecast(null,e,function(){return e.generate(n)});if(e.jsonPath)return e;var a=e.type;if(Array.isArray(a)?a=c.pick(a):void 0===a&&(a=function(e,t){for(var r=Object.keys(v),n=0;n<r.length;n+=1){var i=r[n];if(x(e,t[t.length-1],v[i]))return i}}(e,t)||a)&&(e.type=a),"string"==typeof a){if(!N[a]){if(o("failOnInvalidTypes"))throw new g("unknown primitive "+p.short(a),t.concat(["type"]));return o("defaultInvalidTypeProduct")}try{return N[a](e,t,r,T)}catch(e){if(void 0===e.path)throw new g(e.stack,t);throw e}}var u={};return Array.isArray(e)&&(u=[]),Object.keys(e).forEach(function(n){"object"==typeof e[n]&&"definitions"!==n?u[n]=T(e[n],t.concat([n]),r,u):u[n]=e[n]}),u}}function q(e){return"[object Object]"===Object.prototype.toString.call(e)&&!Object.keys(e).length}function $(e,t){return e&&"object"==typeof e?Array.isArray(e)?e.map(function(e){return $(e,!0)}).filter(function(e){return void 0!==e}):(Object.keys(e).forEach(function(t){if(q(e[t]))delete e[t];else{var r=$(e[t]);q(r)||(e[t]=r)}}),Object.keys(e).length||!t?e:void 0):e}function z(e,t,n,i){if(!e||"object"!=typeof e)return e;if(n||(n={}),t||(t=e),Array.isArray(e))return e.map(function(e){return z(e,t,n,i)});if(e.jsonPath){var a="object"!=typeof e.jsonPath?{path:e.jsonPath}:e.jsonPath;a.group=e.group||a.group||i,a.cycle=e.cycle||a.cycle||!1,a.reverse=e.reverse||a.reverse||!1,a.count=e.count||a.count||1;var o=a.group+"__"+a.path;return n[o]||(a.count>1?n[o]=r.JSONPath(a.path,t).slice(0,a.count):n[o]=r.JSONPath(a.path,t)),a.cycle||a.reverse?function(e,t){if(!Array.isArray(e))return e;var r=t?e.pop():e.shift();return t?e.unshift(r):e.push(r),r}(n[o],a.reverse):function(e){return Array.isArray(e)?c.pick(e):e}(n[o])}return Object.keys(e).forEach(function(r){e[r]=z(e[r],t,n,r)}),e}function Z(e,t,r){try{var n={},i=T(p.clone(t),[],function i(a,u){if(!a||n[a.$ref]>c.pick([0,1]))return a?(delete a.$ref,a):null;if("function"==typeof a.generate)return a;if("string"==typeof(a.$id||a.id)&&(delete a.id,delete a.$id,delete a.$schema),"string"==typeof a.$ref){if(n[a.$ref]=n[a.$ref]||0,n[a.$ref]+=1,"#"===a.$ref)return delete a.$ref,a;var s;if(-1===a.$ref.indexOf("#/")&&(s=e[a.$ref]||null),0===a.$ref.indexOf("#/definitions/")&&(s=t.definitions[a.$ref.split("#/definitions/")[1]]||null),void 0!==s){if(!s&&!0!==o("ignoreMissingRefs"))throw new Error("Reference not found: "+a.$ref);p.merge(a,s||{})}return delete a.$ref,a}if(Array.isArray(a.allOf)){var f=a.allOf;delete a.allOf,f.forEach(function(e){var t=i(e,u);p.merge(a,"function"==typeof t.thunk?t.thunk():t)})}if(Array.isArray(a.oneOf||a.anyOf)){var m=a.oneOf||a.anyOf;return a.enum&&a.oneOf&&(a.enum=a.enum.filter(function(e){return p.validate(e,m)})),{thunk:function(){var e=p.omitProps(a,["anyOf","oneOf"]),t=c.pick(m);return p.merge(e,t),a.oneOf&&e.properties&&m.forEach(function(r){r!==t&&r.required&&r.required.forEach(function(t){e.required.includes(t)||delete e.properties[t]})}),e}}}if(Object.keys(a).forEach(function(e){!Array.isArray(a[e])&&"object"!=typeof a[e]||p.isKey(e)||(a[e]=i(a[e],u.concat(e)))}),u){var l=u[u.length-1];if("properties"===l||"items"===l)return a}return r.wrap(a)});return o("resolveJsonPath")?z($(i)):$(i)}catch(e){throw e.path?new Error(e.message+" in /"+e.path.join("/")):e}}var D=new d;function F(){D.define("pattern",c.randexp),D.define("autoIncrement",function(e,t){if(!this.offset){var r=t.minimum||1,n=r+s.MAX_NUMBER,i=e.initialOffset||t.initialOffset;this.offset=i||c.number(r,n)}return!0===e?this.offset++:t}),D.define("sequentialDate",function(e,t){if(this.now||(this.now=c.date()),e){if(t=this.now.toISOString(),-1===["seconds","minutes","hours","days","weeks","months","years"].indexOf(e=!0===e?"days":e))throw new Error("Unsupported increment by "+p.short(e));this.now.setTime(this.now.getTime()+c.date(e))}return t})}function J(e){var t={};return Array.isArray(e)?e.forEach(function(e){t[e.$id||e.id]=e}):t=e||{},t}var V=function(e,t,r){return console.log("[json-schema-faker] calling JsonSchemaFaker() is deprecated, call either .generate() or .resolve()"),r&&console.log("[json-schema-faker] references are only supported by calling .resolve()"),V.generate(e,t)};return V.generate=function(e,t){return Z(J(t),e,D)},V.resolve=function(t,r,n){"string"==typeof r&&(n=r,r={}),n=(n=n||("undefined"!=typeof process?process.cwd():"")).replace(/\/+$/,"")+"/";var i=J(r),a={order:300,canRead:!0,read:function(e,t){try{t(null,i[e.url]||i[e.url.split("/").pop()])}catch(e){t(e)}}};return e.dereference(n,t,{resolve:{file:{order:100},http:{order:200},fixedRefs:a},dereference:{circular:"ignore"}}).then(function(e){return Z(i,e,D)})},F(),V.format=y,V.option=o,V.random=c,V.extend=function(e,t){return D.extend(e,t),V},V.define=function(e,t){return D.define(e,t),V},V.reset=function(e){return D.reset(e),F(),V},V.locate=function(e){return D.get(e)},V.version="0.5.0-rc16",V});
    //# sourceMappingURL=index.umd.min.js.map