@jarenjs/validate 0.8.2 → 0.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +4 -4
- package/dist/index.js.map +3 -3
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +4 -4
- package/package.json +1 -1
package/dist/index.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function y(e){return typeof e=="function"}function ze(e){switch(e){case"string":case"number":case"boolean":case"integer":case"bigint":return!0;default:return!1}}function J(e){return e!=null&&ze(typeof e)}function x(e){return typeof e=="string"}function G(e){return e===!0||e===!1}function W(e){return e!=null&&typeof e=="number"}function xe(e){return Number.isInteger(e)}function q(e){return typeof e=="bigint"}function Ee(e,t=void 0){return x(e)?e:t}function K(e,t=void 0){return q(e)?e:t}function ie(e){return e===null}function L(e,t){return e!=null&&e.constructor===t}function E(e){return L(e,Object)}function ge(e){return L(e,Map)}function Y(e){return e!=null&&typeof e=="object"&&e.constructor!==Array}function M(e){return L(e,Array)}function he(e){return L(e,Set)}var oe=Object.getPrototypeOf(Uint8Array);function ve(e){if(e==null)return!1;let t=e.__proto__.__proto__;return t!=null&&t.constructor===oe}function C(e,t=void 0){return E(e)?e:t}function V(e,t,r){let n=e(t),o=r===!0?n:e(r);return o===void 0?[n,void 0]:[void 0,o]}function ye(e){return e!=null&&(e instanceof Array||e instanceof Set||e instanceof oe)}function ue(e,t=void 0){return e==null?t:e.constructor===Array?e.filter((r,n,o)=>n===o.indexOf(r)):e.constructor===Set?Array.from(e):t}function Ce(e){let t=ue(e);return t!=null&&t.length==e.length}function se(e,t){return t.every(r=>e.includes(r))}function Q(e){return e===!0||e===!1||e==="true"||e==="false"}function B(e,t=void 0){return Q(e)||e==="true"||e==="false"?e:t}function He(e){return typeof e!="bigint"&&!Number.isNaN(Number(e))}function Ge(e){return Number.isInteger(Number(e))}function j(e,t=void 0){return He(e)?Number(e):t}function h(e,t=void 0){return Ge(e)?Number(e):t}function d(e,t=void 0,r=void 0,n=void 0){return e===!0||!0}function _(e,t=void 0,r=void 0,n=void 0){return!1}function le(e,t=d){return y(e)?e:y(t)?t:d}function v(e=[],t){if(t==null)return e;if(y(t))e.push(t);else if(t.constructor===Array)for(let r=0;r<t.length;++r)y(t[r])&&e.push(t[r]);return e}function T(e){return e==null||/^\s*$/.test(e)}function fe(e){return L(e,RegExp)}function ee(e){if(e!=null){if(fe(e))return e;if(x(e))if(e[0]==="/"){let t=e.lastIndexOf("/");if(t>=0){let r=e.substring(1,t),n=e.substring(t+1);return new RegExp(r,n)}}else return new RegExp(e);throw new Error(`Unknown Regular Expression Pattern Type: ${e}`)}}function N(e){return G(e)||E(e)}function $(e,t=void 0){return N(e)?e:t}function A(e,t=1,r=void 0){return M(e)&&e.length>=t&&e||r}function te(e,t){let r=e.type;return r==null?!1:r===t?!0:r.constructor===Array?r.includes(t):r.constructor===Set?r.has(t):!1}function Z(e){return E(e)&&x(e.$ref)&&!T(e.$ref)}function ce(e,t=!1){switch(e){case"null":return ie;case"boolean":return G;case"integer":return xe;case"bigint":return q;case"number":return W;case"string":return x;case"object":return t?E:Y;case"array":return t?ye:M;case"set":return he;case"map":return ge;case"tuple":return M;case"regex":return fe;default:break}if(e===null)return ie;if(typeof e=="function")throw new Error("This is interesting!")}var S=class e{static undefThat(){return new e}constructor(t=!1,r=0){this.match=t,this.errors=Number(r)}addValid(t=!0){return t===!1&&this.errors++,this}addMatch(t=!0){return this.match=!0,t===!1&&this.errors++,this}addResult(t=new e){return this.match=this.match||t.match,this.errors+=t.errors,this}isValid(){return this.errors===0}};function Le(e,t,r){return e[t]==null&&y(r)?(e[t]=r,!0):!1}function Ve(e,t){let r=Object.keys(t);for(let n=0;n<r.length;++n){let o=r[n],u=t[o];Le(e,o,u)}return e}function ke(e,t){if(x(t))return e[t]}function Te(e,t){if(!x(t.format))return;let r=ke(e.formats,t.format);if(r)return r(e,t);throw new Error(`Unknown format ${t.format}`)}function b(e,t){if(e===t)return!0;if(e==null||t==null||G(e)||G(t))return!1;if(y(e))return e.toString()===t.toString();if(J(e)||e.constructor!==t.constructor)return!1;if(e.constructor===Object){let o=Object.keys(e),u=Object.keys(t);if(o.length!==u.length)return!1;for(let i=0;i<o.length;++i){let s=o[i];if(!b(e[s],t[s]))return!1}return!0}if(e.constructor===Map){if(e.size!==t.size)return!1;for(let[o,u]of e)if(t.has(o)===!1||!b(u,t.get(o)))return!1;return!0}if(e.constructor===Array){if(e.length!==t.length)return!1;for(let o=0;o<e.length;++o)if(!b(e[o],t[o]))return!1;return!0}if(e.constructor===Set){if(e.size!==t.size)return!1;for(let o of e)if(t.has(o)===!1)return!1;return!0}if(e.constructor===RegExp)return e.toString()===t.toString();if(ve(e)){if(e.length!==t.length)return!1;for(let o=0;o<e.length;++o)if(e[o]!==t[o])return!1;return!0}let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;if(r.length===0)return!0;for(let o=0;o<r.length;++o){let u=r[o];if(!b(e[u],t[u]))return!1}return!0}function Ue(e,t){let r=t.const;if(r===void 0)return;let n=e.createErrorHandler(r,"const");return r===null||J(r)?function(u,i){return r===u||n(u,i)}:function(u,i){return b(r,u)||n(u,i)}}function Xe(e,t){let r=A(t.enum,1);if(r==null)return;let n=!1;for(let u=0;u<r.length;++u){let i=r[u];if(i!=null&&typeof i=="object"){n=!0;break}}let o=e.createErrorHandler(r,"enum");return n===!1?function(i,s){return i===void 0||r.includes(i)?!0:o(i,s)}:function(i,s){if(i===void 0)return!0;if(i===null||typeof i!="object")return r.includes(i)?!0:o(i,s);for(let f=0;f<r.length;++f)if(b(r[f],i)===!0)return!0;return o(i,s)}}function Ae(e,t){return[Ue(e,t),Xe(e,t)]}function qe(e,t){let[r,n]=V(j,t.maximum,t.exclusiveMaximum);if(n!=null){let o=e.createErrorHandler(n,"exclusiveMaximum");return function(i,s){return i<n||o(i,s)}}else if(r!=null){let o=e.createErrorHandler(r,"maximum");return function(i,s){return i<=r||o(i,s)}}}function Ze(e,t){let[r,n]=V(j,t.minimum,t.exclusiveMinimum);if(n!=null){let o=e.createErrorHandler(n,"exclusiveMinimum");return function(i,s){return i>n||o(i,s)}}else if(r!=null){let o=e.createErrorHandler(r,"minimum");return function(i,s){return i>=r||o(i,s)}}}function Je(e,t){let r=j(t.multipleOf);if(r==null)return;let n=e.createErrorHandler(r,"multipleOf");return function(u,i){return u%r===0||n(u,i)}}function We(e,t){let r=qe(e,t),n=Ze(e,t),o=Je(e,t);if(r==null&&n==null&&o==null)return;let u=r||d,i=n||d,s=o||d;return function(l,c){return u(l,c)&&i(l,c)&&s(l,c)}}function Ie(e,t){let r=We(e,t);if(r!=null)return function(o,u){return W(o)?r(o,u):!0}}function Ke(e,t){let[r,n]=V(K,t.maximum,t.exclusiveMaximum);if(n!=null){let o=e.createErrorHandler(n,"exclusiveMaximum");return function(i,s){return i<n||o(i,s)}}else if(r!=null){let o=e.createErrorHandler(r,"maximum");return function(i,s){return i<=r||o(i,s)}}}function Ye(e,t){let[r,n]=V(K,t.minimum,t.exclusiveMinimum);if(n!=null){let o=e.createErrorHandler(n,"exclusiveMinimum");return function(i,s){return i>n||o(i,s)}}else if(r!=null){let o=e.createErrorHandler(r,"minimum");return function(i,s){return i>=r||o(i,s)}}}function Qe(e,t){let r=K(t.multipleOf);if(r==null)return;let n=e.createErrorHandler(r,"multipleOf");return function(u,i){return u%r===BigInt(0)||n(u,i)}}function _e(e,t){let r=Ke(e,t),n=Ye(e,t),o=Qe(e,t);if(r==null&&n==null&&o==null)return;let u=r||d,i=n||d,s=o||d;return function(l,c){return q(l)?u(l,c)&&i(l,c)&&s(l,c):!0}}function je(e,t){let r=h(t.minLength)||0;if(r<1)return;let n=e.createErrorHandler(r,"minLength");return function(u=0,i){return u>=r||n(u,i)}}function et(e,t){let r=h(t.maxLength)||-1;if(r<0)return;let n=e.createErrorHandler(r,"maxlength");return function(u=0,i){return u<=r||n(u,i)}}function tt(e,t){let r=ee(t.pattern);if(r==null)return;let n=e.createErrorHandler(r,"pattern");return function(u="",i){return r.test(u)||n(u,i)}}function rt(e,t){let r=je(e,t),n=et(e,t),o=tt(e,t);if((r||n||o)==null)return;let u=r||d,i=n||d,s=o||d;return function(l,c){let a=l.length;return u(a,c)&&i(a,c)&&s(l,c)}}function Se(e,t){let r=rt(e,t);if(r!=null)return function(o,u){return x(o)&&r(o,u)}}function nt(e,t){let r=h(t.minProperties)||0;if(r<1)return;let n=e.createErrorHandler(r,"minProperties");return function(u=0,i=""){return u>=r||n(u,i)}}function it(e,t){let r=h(t.maxProperties)||-1;if(r<0)return;let n=h(t.minProperties)||0;if(r<n)throw new Error("maxProperties must be greater then minProperties");let o=e.createErrorHandler(r,"maxProperties");return function(i=0,s=""){return i<=r||o(i,s)}}function ot(e,t){let r=A(t.required,1);if(r==null)return;let n=r.length,o=e.createErrorHandler(r,"requiredProperties");return function(i=[],s=""){let f=!0;for(let l=0;l<n;++l){let c=r[l];i.indexOf(c)===-1&&(f&&=o(c,s))}return f}}function ut(e,t){let r=$(t.propertyNames);if(r!=null)return e.createValidator(r,"propertyNames")}function st(e,t){let r=C(t.properties);if(r==null)return;let n=Object.keys(r);if(n.length===0)return;let o={};for(let u=0;u<n.length;u++){let i=n[u],s=r[i],f=e.createValidator(s,"properties",i);f!=null&&(o[i]=f)}if(Object.keys(o).length!==0)return function(i,s,f,l){let c=new S,a=o[l];return a==null?c:c.addMatch(a(i[l],s,f,l))}}function lt(e,t){let r=C(t.patternProperties);if(r==null)return;let n=Object.keys(r);if(n.length===0)return;let o={};for(let f=0;f<n.length;++f){let l=n[f],c=ee(l);c!=null&&(o[l]=c)}let u=Object.keys(o);if(u.length===0)return;let i={};for(let f=0;f<u.length;++f){let l=u[f],c=r[l],a=e.createValidator(c,"patternProperties",l);a!=null&&(i[l]=a)}let s=Object.keys(i);if(s.length!==0)return function(l,c,a,p){let m=new S;for(let F=0;F<s.length;++F){let g=s[F];if(o[g].test(p)){let I=i[g];m.addMatch(I(l[p],c,a,p))}}return m}}function ft(e,t){let r=$(t.additionalProperties);if(r==null)return;if(r===!1){let o=e.createErrorHandler(!1,"additionalProperties");return function(i,s,f,l){return o(l,i)}}let n=e.createValidator(r,"additionalProperties");return function(u,i,s,f){return n(u[f],i,s,f)}}function ct(e,t){let r=$(t.unevaluatedProperties);if(r!=null){if(r===!1){let n=e.createErrorHandler(!1,"unevaluatedProperties");return(o,u,i,s)=>n(s,o)}return e.createValidator(r,"unevaluatedProperties")}}function at(e,t){let r=C(t.dependentRequired);if(r==null||Object.keys(r).length===0)return;let n=e.createErrorHandler(!1,"dependentRequired");return function(u,i,s,f){if(f in r){let l=r[f];return se(Object.keys(u),l)||n(u,f,i)}return!0}}function dt(e,t){let r=C(t.dependentSchemas);if(r==null)return;let n={};for(let o in r)if(o in r){let u=r[o];if(!N(u)&&!e.options.skipErrors)throw new Error(`Expected Schema at '${e.path}/${o}'`);let i=e.createValidator(u,"dependentSchemas",o);if(i!=null)n[o]=i;else throw new Error(`Expected Validator at '${e.path}/${o}'`)}if(Object.keys(n).length!==0)return function(u,i,s,f){if(f in n){let l=n[f];return l(u,i,s,f)}return!0}}function pt(e,t){let r=C(t.dependencies);if(r==null)return;let n={};for(let o in r)if(o in r){let u=r[o];if(N(u)){let i=e.createValidator(u,"dependencies",o);if(i!=null)n[o]=i;else throw new Error(`Expected Validator at '${e.path}/${o}'`)}else if(M(u)){let i=e.createErrorHandler(u,["dependencies",o]);n[o]=function(f,l,c,a){return se(Object.keys(f),u)||i(f,a,l)}}else if(!e.options.skipErrors)throw new Error(`Expected Schema or Array at '${e.path}/${o}'`)}if(Object.keys(n).length!==0)return function(u,i,s,f){if(f in n){let l=n[f];return l(u,i,s,f)}return!0}}function mt(e,t){let r=nt(e,t),n=it(e,t),o=ot(e,t);if((r||n||o)==null)return;let u=r||d,i=n||d,s=o||d;return function(l,c,a,p){let m=p||Object.keys(l),F=m.length;return u(F,c)&&i(F,c)&&s(m,c)}}function Ft(e,t){let r=ut(e,t),n=st(e,t),o=lt(e,t),u=ft(e,t),i=dt(e,t),s=pt(e,t),f=at(e,t),l=ct(e,t);if((o||r||n||f||i||s||u||l)==null)return;let c=r||d,a=n||S.undefThat,p=o||S.undefThat,m=f||d,F=i||d,g=s||d;return function(I,w,R,D){let H=new S;return H.addValid(c(D)).addResult(a(I,w,R,D)).addResult(p(I,w,R,D)).addValid(m(I,w,R,D)).addValid(F(I,w,R,D)).addValid(g(I,w,R,D)),u?H.match?H:H.addMatch(u(I,w,R,D)):(l&&H.addValid(l(I,w,R,D)),H)}}function xt(e,t){let r=Ft(e,t);if(r!=null)return function(o,u,i,s){let f=new S;for(let l=0;l<s.length;++l){let c=s[l];f.addResult(r(o,u,i,c))}return f.isValid()}}function De(e,t){if(te(t,"map"))return;let r=mt(e,t),n=xt(e,t);if((r||n)==null)return;let o=r||d,u=n||d;return function(s,f,l){if(E(s)){let c=Object.keys(s);return o(s,f,l,c)&&u(s,f,l,c)}return!0}}function Et(e,t){let r=h(t.minItems)||0;if(r<1)return;let n=e.createErrorHandler(r,"minItems");return function(u=0,i=""){return u>=r||n(u,i)}}function gt(e,t){let r=h(t.maxItems)||-1;if(r<0)return;let n=h(t.minItems)||0;if(r<n)throw new Error("maxItems must be greater then minItems");let o=e.createErrorHandler(r,"maxItems");return function(i=0,s=""){return i<=r||o(i,s)}}function ht(e,t,r,n){let o=B(t[r]);if(o!==!0)return;let u=e.createErrorHandler(o,r);return function(s,f){return n(s)||u(s,f)}}var vt=(e,t)=>ht(e,t,"uniqueItems",Ce);function Me(e,t,r,n){let o=A(t[r],1);if(o==null)return;let u=o.map((l,c)=>l===!0?d:l===!1?_:e.createValidator(l,r,c)),i=u.length,s=$(t[n],!0);if(typeof s=="boolean")return function(c,a,p,m){return m>=i?s:u[m](c,a,p)};let f=e.createValidator(s,n);return function(c,a,p,m){return m<i?u[m](c,a,p):f(c,a,p)}}function yt(e,t){return Me(e,t,"prefixItems","items")}function Ct(e,t){return Me(e,t,"items","additionalItems")}function Tt(e,t){let r=C(t.contains);if(r!=null)return e.createValidator(r,"contains")}function At(e,t){if(C(t.contains)==null)return;let n=h(t.minContains),o=h(t.maxContains),u=e.createErrorHandler(0,"contains"),i=e.createErrorHandler(n,"minContains"),s=e.createErrorHandler(o,"maxContains");return n==null&&o==null?function(l,c){return l>0||u(l,c)}:o==null?function(l,c){return l>=(n||0)||i(l,c)}:n==null?function(l,c){return l===0?u(l,c):l<=o||s(l,c)}:function(l,c){return(l>=n||i(l,c))&&(l<=o||s(l,c))}}function It(e,t){let r=B(t.contains);if(r===!0){let n=e.createErrorHandler(!0,"contains");return function(u,i){return u.length>0||n(u,i)}}if(r===!1){let n=e.createErrorHandler(!1,"contains");return function(u,i){return n(u,i)}}}function _t(e,t){let r=B(t.items);if(r===!0)return d;if(r!==!1)return;let n=e.createErrorHandler(!1,"items");return function(u,i){return u.length===0||n(u,i)}}function St(e,t){let r=C(t.items);if(r!=null)return e.createValidator(r,"items")}function Dt(e,t){let r=C(t.unevaluatedItems);if(r!=null)return e.createValidator(r,"unevaluatedItems")}function Mt(e,t){let r=Et(e,t),n=gt(e,t),o=vt(e,t);if((r||n||o)==null)return;let u=r||d,i=n||d,s=o||d;return function(l,c){let a=l.length;return u(a,c)&&i(a,c)&&s(l,c)}}function Nt(e,t){let r=yt(e,t)||Ct(e,t)||St(e,t),n=Tt(e,t),o=Dt(e,t);if((r||n||o)==null)return;let u=At(e,t)||d,i=h(t.maxItems)||0,s=f=>i>0?Math.min(i,f):f;if(n==null){let f=e.createErrorHandler(0,"items");return function(c,a,p){let m=s(c.length),F=0;for(let g=0;g<m;++g){let z=c[g];r(z,a,p,g)===!1&&F++}return F===0||f(F,a)}}return r==null?function(l,c){let a=s(l.length),p=0;for(let m=0;m<a;++m){let F=l[m];n(F,c)===!0&&p++}return u(p,c)}:function(l,c,a){let p=s(l.length),m=0,F=0;for(let g=0;g<p;++g){let z=l[g];r(z,c,a,g)!==!0&&m++,n(z,c,a)===!0&&F++}return m===0&&u(F,c)}}function Ne(e,t){if(te(t,"set"))return;let r=Mt(e,t),n=_t(e,t),o=It(e,t),u=Nt(e,t);if((r||n||o||u)===void 0)return;let i=r||d,s=n||d,f=o||d,l=u||d;return function(a,p,m){return M(a)?i(a,p)&&s(a,p,m)&&f(a,p,m)&&l(a,p,m):!0}}function $t(e,t){let r=A(t.allOf,1);if(r==null)return;let n=[];for(let u=0;u<r.length;++u){let i=r[u];if(i===!0)n.push(d);else if(i===!1)n.push(_);else{let s=e.createValidator(i,"allOf",u);n.push(s)}}if(n.length===0)return;let o=e.createErrorHandler(r,"allOf");return function(i,s,f,l){if(i!==void 0)for(let c=0;c<n.length;++c){let a=n[c];if(a(i,s,f,l)===!1)return o(i,s)}return!0}}function Ot(e,t){let r=A(t.anyOf,1);if(r==null)return;let n=[];for(let u=0;u<r.length;++u){let i=r[u];if(i===!0)n.push(d);else if(i===!1)n.push(_);else{let s=e.createValidator(i,"anyOf",u);n.push(s)}}if(n.length===0)return;let o=e.createErrorHandler(r,"anyOf");return function(i,s,f,l){if(i!==void 0){for(let c=0;c<n.length;++c){let a=n[c];if(a(i,s,f,l)===!0)return!0}return o(i,s)}return!0}}function wt(e,t){let r=A(t.oneOf,1);if(r==null)return;let n=[];for(let u=0;u<r.length;++u){let i=r[u];if(i===!0)n.push(d);else if(i===!1)n.push(_);else{let s=e.createValidator(i,"oneOf",u);n.push(s)}}if(n.length===0)return;let o=e.createErrorHandler(r,"oneOf");return function(i,s,f,l){let c=!1;for(let a=0;a<n.length;++a){let p=n[a];if(p(i,s,f,l)===!0){if(c===!0)return o(i,s);c=!0}}return c}}function Rt(e,t){let r=$(t.not);if(r==null)return;if(r===!0)return _;if(r===!1)return d;let n=e.createValidator(r,"not"),o=e.createErrorHandler(r,"not");return function(i,s,f,l){return i===void 0||n(i,s,f,l)===!1?!0:o(i,s)}}function $e(e,t){let r=[];function n(o){y(o)&&r.push(o)}if(n($t(e,t)),n(Ot(e,t)),n(wt(e,t)),n(Rt(e,t)),r.length!==0){if(r.length===1)return r[0];if(r.length===2){let o=r[0],u=r[1];return function(s,f,l,c){return o(s,f,l,c)&&u(s,f,l,c)}}else return function(u,i,s,f){for(let l=0;l<r.length;++l){let c=r[l];if(c(u,i,s,f)===!1)return!1}return!0}}}function Oe(e,t){let r=e.createValidator(t.if,"if"),n=e.createValidator(t.then,"then"),o=e.createValidator(t.else,"else");if(r==null||n==null&&o==null)return;let u=le(n),i=le(o);return function(f,l){return r(f)?u(f,l):i(f,l)}}function Bt(e,t){let r=B(t.required);if(r!==!0)return;let n=e.createErrorHandler(r,"required");return function(u,i){return u===void 0?n(u,i):!0}}function bt(e,t){let r=Ee(t.type);if(r==null)return;let n=ce(r);if(!n)throw new Error(`The explicit schema type '${r}' is unknown. (TODO: add trace)`);let o=e.createErrorHandler(r,"type");return function(i,s){return n(i)?!0:o(i,s)}}function Pt(e,t){let r=ue(t.type);if(r==null)return;if(r.length===0)throw new Error("The schema type property can not be an empty array.");let n=[],o=[];for(let i=0;i<r.length;++i){let s=r[i],f=ce(s);if(!f)throw new Error(`The explicit schema type '${s}' of '${n} is unknown. (TODO: add trace)`);n.push(f),o.push(s)}let u=e.createErrorHandler(o,"type");if(n.length===1){let i=n[0];return function(f,l){return i(f)?!0:u(f,l)}}else if(n.length===2){let i=n[0],s=n[1];return function(l,c){return i(l)||s(l)?!0:u(l,c)}}else if(n.length===3){let i=n[0],s=n[1],f=n[2];return function(c,a){return i(c)||s(c)||f(c)?!0:u(c,a)}}else return function(s,f){for(let l=0;l<n.length;++l)if(n[l](s)===!0)return!0;return u(s,f)}}function zt(e,t){let r=bt(e,t)||Pt(e,t),n=B(t.nullable);if(r==null){if(n!==!1)return;let o=e.createErrorHandler(n,"nullable");return function(i,s){return i===void 0||i!==null||o(i,s)}}return n===!0?function(u,i){return u==null||r(u,i)}:function(u,i){return u===void 0||r(u,i)}}function we(e,t){if(t===!0)return d;if(t===!1)return _;if(!Y(t))throw new Error("JSON Schema MUST be a boolean or Object Type");if(Object.keys(t).length===0)return d;let r=[];if(v(r,Bt(e,t)),v(r,zt(e,t)),v(r,Ae(e,t)),v(r,Ie(e,t)),v(r,_e(e,t)),v(r,Se(e,t)),v(r,Te(e,t)),v(r,Ne(e,t)),v(r,De(e,t)),v(r,$e(e,t)),v(r,Oe(e,t)),r.length===0)return d;if(r.length===1)return r[0];if(r.length===2){let n=r[0],o=r[1];return function(i,s,f){return n(i,s,f)&&o(i,s,f)}}if(r.length===3){let n=r[0],o=r[1],u=r[2];return function(s,f,l){return n(s,f,l)&&o(s,f,l)&&u(s,f,l)}}return function(o,u,i){for(let s=0;s<r.length;++s){let f=r[s];if(f(o,u,i)===!1)return!1}return!0}}var on=String.fromCharCode;var Ht=/^[A-Za-z]+[\w\-\:\.]{0,30}$/;function Re(e){return Ht.test(e)}function ae(e){return encodeURIComponent(e.replace("~","~0").replace("/","~1"))}function U(e,t,r){return r==null?`${e}/${ae(t)}`:`${e}/${ae(t)}/${ae(r)}`}function Gt(e){return decodeURIComponent(e.replace("~0","~").replace("~1","/"))}function Lt(e){return e.split("/").map(Gt).splice(1)}var P=class{constructor(t=!0,r=!0,n=!0){this.anchorsGlobal=t,this.anchorsAllowed=r,this.skipErrors=n}},k=class{constructor(t,r,n,o){this.id=t,this.search=r,this.leftUri=n,this.fragment=o}};function O(e,t,r=new P){let n=!x(e)||T(e)?new URL(t):!x(t)||T(t)?new URL(e):new URL(e,t),[o,u]=n.href.split("#"),[i,s]=o.split("?");if(!T(u)){if(r.anchorsAllowed==!0&&Re(u))return r.anchorsGlobal==!0?new k(`#${u}`,s,`${i}#`,u):new k(`${i}#${u}`,s,`${i}#`,u);if(u.startsWith("/"))return new k(`${i}#${u}`,s,`${i}#`,u)}return new k(`${i}#`,s,`${i}#`,null)}var Vt=["items","prefixItems","additionalItems","contains","unevaluatedItems","additionalProperties","propertyNames","unevaluatedProperties","not","oneOf","anyOf","allOf","if","then","else"],kt=["properties","patternProperties","dependencies","dependentSchemas","dependentRequired","definitions","$defs","components"];function de(e,t,r,n=new P){if(!E(r))return e.set(t,r),null;let{id:o}=O(r.$id,t,n);if(!x(r.$id)||T(r.$id)){if(e.has(o))throw new Error(`Schema '${o}' already exists`);e.set(o,r)}t=o;let u=[{obj:r,base:o,path:"#"}];for(;u.length>0;){let{obj:i,base:s,path:f}=u.shift();if(x(i.$id)&&!T(i.$id)){let{id:l}=O(i.$id,s,n);if(!e.has(l))e.set(l,i);else if(e.get(l)==null)e.set(l,i);else throw new Error(`Schema '${l}' for path '${f}' in '${s}' already exists`);t=l}else t=s;if(x(i.$anchor)&&!T(i.$anchor)){let{id:l}=O(`#${i.$anchor}`,t,n);if(!e.has(l))e.set(l,i);else if(e.get(l)==null)e.set(l,i);else throw new Error(`Schema '${l}' for path '${f}' in '${s}' already exists`);l.startsWith("#")||(t=l)}if(x(i.$ref)&&!T(i.$ref)){let{id:l}=O(i.$ref,t,n);e.has(l)||e.set(l,null);continue}for(let[l,c]of Object.entries(i))if(E(c)){if(Vt.includes(l))if(Array.isArray(c)){let a=c.length;for(let p=0;p<a;p++){let m=c[p],F=U(f,l,p);if(!Q(m)){if(!E(m)){if(n.skipErrors===!0)continue;throw new Error(`${F} is not a schema`)}u.push({obj:m,base:t,path:F})}}}else{let a=U(f,l);u.push({obj:c,base:t,path:a})}else if(kt.includes(l)){if(Array.isArray(c))continue;for(let[a,p]of Object.entries(c)){let m=U(f,l,a);if(!Q(p)){if(!E(p)){if(n.skipErrors===!0)continue;throw new Error(`${m} is not a schema`)}u.push({obj:p,base:t,path:m})}}}}}return o}function Be(e,t,r,n=new P){let{id:o,leftUri:u,fragment:i}=O(t,r,n);if(!e.has(u))throw new Error(`The root of reference: '$ref': '${o}', is not found in init-cache`);let s=e.get(u);if(T(i))return{id:o,schema:s};let f=Lt(i),l="";for(let c of f){if(l=l+"/"+c,!N(s[c]))throw new Error(`The '${l}' is not is not a valid schema in '${u}'`);s=s[c]}return{id:o,schema:s}}function be(e,t=new P){for(let[r,n]of e.entries()){if(n!=null)continue;let{schema:o}=Be(e,r,null,t);if(o==null)throw new Error(`Can not resolve schema for '${r}'`);e.set(r,o)}}var X=class extends P{constructor(t="https://github.com/jklarenbeek/jaren",r=!0,n,o,u){super(n,o,u),this.origin=t,this.mergeSchemas=r}};function Pe(e,t,r,n=new X){if(!E(r))return{id:t,schema:r};if(!Z(r))return{id:t,schema:r};let o=[{item:r,base:t}],u=new Set,i={};for(;o.length>0;){let{item:s,base:f}=o.shift();if(!E(s))return{id:f,schema:s};if(i=n.mergeSchemas==!0?{...s,...i}:{...s},!Z(s))return{id:f,schema:i};delete i.$ref;let l=s.$ref,{id:c,schema:a}=Be(e,l,f,n);if(u.has(c))return{id:f,schema:i};u.add(c),o.push({item:a,base:c})}throw new Error(`The json schema '${t}' can not be resolved!`)}var Ut=typeof window<"u",Xt=Ut?window.performance:{now:function(t){let r=process;if(!t)return r.hrtime();let n=r.hrtime(t);return Math.round(n[0]*1e3+n[1]/1e6)}},re=class{constructor(t,r,n,o,u,i){this.timeStamp=Xt.now(),this.object=t,this.key=r,this.expected=n,this.dataKey=o,this.value=u,this.rest=i}},ne=class{constructor(t=!0){this.skipErrors=t}},pe=class e{static _createObject(t,r,n){let o=t._objects;if(o.has(r)&&o.get(r)!=null)throw new Error(`Object at '${r}' is already created`);let u=new me(t,r,n);return o.set(r,u),u}constructor(t,r,n,o,u=new ne,i=new X){this._options=u,this._traverse=i,this._schemas=t,this._rootOrigin=n,this._formats=o,this._objects=new Map,this._errors=[],this._firstSchema=e._createObject(this,n,r)}get options(){return this._options}get formats(){return this._formats}createObject(t,r){return e._createObject(this,t,r)}unresolvedObject(t){let r=this._objects;return r.has(t)?r.get(t):(r.set(t,null),null)}resolveObject(t,r,n){let o=this._objects;if(o.has(t)&&o.get(t)!=null)return o.get(t);let u=this._schemas,i=this._traverse,{id:s,schema:f}=Pe(u,r,n,i);return e._createObject(this,s,f)}addError(t){return this._errors.push(t),!1}validate(t){return this._errors.length=0,this._firstSchema.validate(t,t)}},me=class e{static _compileValidator(t,r,n){if(!Z(n))return we(t,n);let o=t._root,{id:u}=O(n.$ref,r,o.options),i=o.unresolvedObject(u);if(i!=null){let s=i.validate;return t._validator=function(l,c){return s(l,c)},t._validator}return function(f,l){let a=o.resolveObject(u,r,n).validate;return t._validator=function(m,F){return a(m,F)},t._validator(f,l)}}constructor(t,r,n){this._root=t,this._path=r,this._members=[],this._schema=n,this._validator=null,this._validator=e._compileValidator(this,r,n)}get path(){return this._path}get errors(){return this._root.errors}get validate(){return this._validator}get options(){return this._root.options}get formats(){return this._root.formats}createErrorHandler(t,r){let n=this;return Array.isArray(r)?function(u,i,...s){let f=new re(n,r,t,u,i,s);return n._root.addError(f)}:function(u,...i){let s=new re(n,r,t,null,u,i);return n._root.addError(s)}}createValidator(t,r,n){if(!N(t))return;let o=E(t)?O(t.$id,this._path).id:this._path,u=this._root,i=n==null?U(o,r):U(o,r,String(n)),s=u.createObject(i,t);return this._members.push(s),s._validator}},Fe=class{constructor(t={},r=[],n=new ne,o=new X){this.formats=t,this.schemas=r,this.validation=n,this.traverse=o}};function vn(e,t=new Fe){let r=new Map,n=de(r,t.traverse.origin,e,t.traverse);t.schemas.forEach(u=>de(r,n,u,t.traverse)),be(r,t.traverse);let o=new pe(r,e,n,t.formats,t.validation,t.traverse);return{validate:u=>o.validate(u)}}export{X as TraverseOptions,Fe as ValidatorOptions,vn as compileSchemaValidator,Ve as registerFormatCompilers};
|
|
1
|
+
function y(e){return typeof e=="function"}function Ve(e){switch(e){case"string":case"number":case"boolean":case"integer":case"bigint":return!0;default:return!1}}function J(e){return e!=null&&Ve(typeof e)}function x(e){return typeof e=="string"}function H(e){return e===!0||e===!1}function W(e){return e!=null&&typeof e=="number"}function xe(e){return Number.isInteger(e)}function q(e){return typeof e=="bigint"}function Ee(e,t=void 0){return x(e)?e:t}function K(e,t=void 0){return q(e)?e:t}function ie(e){return e===null}function G(e,t){return e!=null&&e.constructor===t}function E(e){return G(e,Object)}function he(e){return G(e,Map)}function Y(e){return e!=null&&typeof e=="object"&&e.constructor!==Array}function S(e){return G(e,Array)}function ge(e){return G(e,Set)}var oe=Object.getPrototypeOf(Uint8Array);function ve(e){if(e==null)return!1;let t=e.__proto__.__proto__;return t!=null&&t.constructor===oe}function C(e,t=void 0){return E(e)?e:t}function L(e,t,r){let n=e(t),o=r===!0?n:e(r);return o===void 0?[n,void 0]:[void 0,o]}function ye(e){return e!=null&&(e instanceof Array||e instanceof Set||e instanceof oe)}function ue(e,t=void 0){return e==null?t:e.constructor===Array?e.filter((r,n,o)=>n===o.indexOf(r)):e.constructor===Set?Array.from(e):t}function Ce(e){let t=ue(e);return t!=null&&t.length==e.length}function se(e,t){return t.every(r=>e.includes(r))}function Q(e){return e===!0||e===!1||e==="true"||e==="false"}function B(e,t=void 0){return Q(e)||e==="true"||e==="false"?e:t}function ze(e){return typeof e!="bigint"&&!Number.isNaN(Number(e))}function He(e){return Number.isInteger(Number(e))}function j(e,t=void 0){return ze(e)?Number(e):t}function g(e,t=void 0){return He(e)?Number(e):t}function d(e,t=void 0,r=void 0,n=void 0){return e===!0||!0}function _(e,t=void 0,r=void 0,n=void 0){return!1}function le(e,t=d){return y(e)?e:y(t)?t:d}function v(e=[],t){if(t==null)return e;if(y(t))e.push(t);else if(t.constructor===Array)for(let r=0;r<t.length;++r)y(t[r])&&e.push(t[r]);return e}function T(e){return e==null||/^\s*$/.test(e)}function fe(e){return G(e,RegExp)}function ee(e){if(e!=null){if(fe(e))return e;if(x(e))if(e[0]==="/"){let t=e.lastIndexOf("/");if(t>=0){let r=e.substring(1,t),n=e.substring(t+1);return new RegExp(r,n)}}else return new RegExp(e);throw new Error(`Unknown Regular Expression Pattern Type: ${e}`)}}function N(e){return H(e)||E(e)}function $(e,t=void 0){return N(e)?e:t}function A(e,t=1,r=void 0){return S(e)&&e.length>=t&&e||r}function te(e,t){let r=e.type;return r==null?!1:r===t?!0:r.constructor===Array?r.includes(t):r.constructor===Set?r.has(t):!1}function Z(e){return E(e)&&x(e.$ref)&&!T(e.$ref)}function ce(e,t=!1){switch(e){case"null":return ie;case"boolean":return H;case"integer":return xe;case"bigint":return q;case"number":return W;case"string":return x;case"object":return t?E:Y;case"array":return t?ye:S;case"set":return ge;case"map":return he;case"tuple":return S;case"regex":return fe;default:break}if(e===null)return ie;if(typeof e=="function")throw new Error("This is interesting!")}var D=class e{static undefThat(){return new e}constructor(t=!1,r=0){this.match=t,this.errors=Number(r)}addValid(t=!0){return t===!1&&this.errors++,this}addMatch(t=!0){return this.match=!0,t===!1&&this.errors++,this}addResult(t=new e){return this.match=this.match||t.match,this.errors+=t.errors,this}isValid(){return this.errors===0}};function Ge(e,t,r){return e[t]==null&&y(r)?(e[t]=r,!0):!1}function Le(e,t){let r=Object.keys(t);for(let n=0;n<r.length;++n){let o=r[n],u=t[o];Ge(e,o,u)}return e}function ke(e,t){if(x(t))return e[t]}function Te(e,t){if(!x(t.format))return;let r=ke(e.formats,t.format);if(r)return r(e,t);throw new Error(`Unknown format ${t.format}`)}function b(e,t){if(e===t)return!0;if(e==null||t==null||H(e)||H(t))return!1;if(y(e))return e.toString()===t.toString();if(J(e)||e.constructor!==t.constructor)return!1;if(e.constructor===Object){let o=Object.keys(e),u=Object.keys(t);if(o.length!==u.length)return!1;for(let i=0;i<o.length;++i){let s=o[i];if(!b(e[s],t[s]))return!1}return!0}if(e.constructor===Map){if(e.size!==t.size)return!1;for(let[o,u]of e)if(t.has(o)===!1||!b(u,t.get(o)))return!1;return!0}if(e.constructor===Array){if(e.length!==t.length)return!1;for(let o=0;o<e.length;++o)if(!b(e[o],t[o]))return!1;return!0}if(e.constructor===Set){if(e.size!==t.size)return!1;for(let o of e)if(t.has(o)===!1)return!1;return!0}if(e.constructor===RegExp)return e.toString()===t.toString();if(ve(e)){if(e.length!==t.length)return!1;for(let o=0;o<e.length;++o)if(e[o]!==t[o])return!1;return!0}let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;if(r.length===0)return!0;for(let o=0;o<r.length;++o){let u=r[o];if(!b(e[u],t[u]))return!1}return!0}function Ue(e,t){let r=t.const;if(r===void 0)return;let n=e.createErrorHandler(r,"const");return r===null||J(r)?function(u,i){return r===u||n(u,i)}:function(u,i){return b(r,u)||n(u,i)}}function Xe(e,t){let r=A(t.enum,1);if(r==null)return;let n=!1;for(let u=0;u<r.length;++u){let i=r[u];if(i!=null&&typeof i=="object"){n=!0;break}}let o=e.createErrorHandler(r,"enum");return n===!1?function(i,s){return i===void 0||r.includes(i)?!0:o(i,s)}:function(i,s){if(i===void 0)return!0;if(i===null||typeof i!="object")return r.includes(i)?!0:o(i,s);for(let f=0;f<r.length;++f)if(b(r[f],i)===!0)return!0;return o(i,s)}}function Ae(e,t){return[Ue(e,t),Xe(e,t)]}function qe(e,t){let[r,n]=L(j,t.maximum,t.exclusiveMaximum);if(n!=null){let o=e.createErrorHandler(n,"exclusiveMaximum");return function(i,s){return i<n||o(i,s)}}else if(r!=null){let o=e.createErrorHandler(r,"maximum");return function(i,s){return i<=r||o(i,s)}}}function Ze(e,t){let[r,n]=L(j,t.minimum,t.exclusiveMinimum);if(n!=null){let o=e.createErrorHandler(n,"exclusiveMinimum");return function(i,s){return i>n||o(i,s)}}else if(r!=null){let o=e.createErrorHandler(r,"minimum");return function(i,s){return i>=r||o(i,s)}}}function Je(e,t){let r=j(t.multipleOf);if(r==null)return;let n=e.createErrorHandler(r,"multipleOf");return function(u,i){return u%r===0||n(u,i)}}function We(e,t){let r=qe(e,t),n=Ze(e,t),o=Je(e,t);if(r==null&&n==null&&o==null)return;let u=r||d,i=n||d,s=o||d;return function(l,c){return u(l,c)&&i(l,c)&&s(l,c)}}function Ie(e,t){let r=We(e,t);if(r!=null)return function(o,u){return W(o)?r(o,u):!0}}function Ke(e,t){let[r,n]=L(K,t.maximum,t.exclusiveMaximum);if(n!=null){let o=e.createErrorHandler(n,"exclusiveMaximum");return function(i,s){return i<n||o(i,s)}}else if(r!=null){let o=e.createErrorHandler(r,"maximum");return function(i,s){return i<=r||o(i,s)}}}function Ye(e,t){let[r,n]=L(K,t.minimum,t.exclusiveMinimum);if(n!=null){let o=e.createErrorHandler(n,"exclusiveMinimum");return function(i,s){return i>n||o(i,s)}}else if(r!=null){let o=e.createErrorHandler(r,"minimum");return function(i,s){return i>=r||o(i,s)}}}function Qe(e,t){let r=K(t.multipleOf);if(r==null)return;let n=e.createErrorHandler(r,"multipleOf");return function(u,i){return u%r===BigInt(0)||n(u,i)}}function _e(e,t){let r=Ke(e,t),n=Ye(e,t),o=Qe(e,t);if(r==null&&n==null&&o==null)return;let u=r||d,i=n||d,s=o||d;return function(l,c){return q(l)?u(l,c)&&i(l,c)&&s(l,c):!0}}function je(e,t){let r=g(t.minLength)||0;if(r<1)return;let n=e.createErrorHandler(r,"minLength");return function(u=0,i){return u>=r||n(u,i)}}function et(e,t){let r=g(t.maxLength)||-1;if(r<0)return;let n=e.createErrorHandler(r,"maxlength");return function(u=0,i){return u<=r||n(u,i)}}function tt(e,t){let r=ee(t.pattern);if(r==null)return;let n=e.createErrorHandler(r,"pattern");return function(u="",i){return r.test(u)||n(u,i)}}function rt(e,t){let r=je(e,t),n=et(e,t),o=tt(e,t);if((r||n||o)==null)return;let u=r||d,i=n||d,s=o||d;return function(l,c){let a=l.length;return u(a,c)&&i(a,c)&&s(l,c)}}function De(e,t){let r=rt(e,t);if(r!=null)return function(o,u){return x(o)&&r(o,u)}}function nt(e,t){let r=g(t.minProperties)||0;if(r<1)return;let n=e.createErrorHandler(r,"minProperties");return function(u=0,i=""){return u>=r||n(u,i)}}function it(e,t){let r=g(t.maxProperties)||-1;if(r<0)return;let n=g(t.minProperties)||0;if(r<n)throw new Error("maxProperties must be greater then minProperties");let o=e.createErrorHandler(r,"maxProperties");return function(i=0,s=""){return i<=r||o(i,s)}}function ot(e,t){let r=A(t.required,1);if(r==null)return;let n=r.length,o=e.createErrorHandler(r,"requiredProperties");return function(i=[],s=""){let f=!0;for(let l=0;l<n;++l){let c=r[l];i.indexOf(c)===-1&&(f&&=o(c,s))}return f}}function ut(e,t){let r=$(t.propertyNames);if(r!=null)return e.createValidator(r,"propertyNames")}function st(e,t){let r=C(t.properties);if(r==null)return;let n=Object.keys(r);if(n.length===0)return;let o={};for(let u=0;u<n.length;u++){let i=n[u],s=r[i],f=e.createValidator(s,"properties",i);f!=null&&(o[i]=f)}if(Object.keys(o).length!==0)return function(i,s,f,l){let c=new D,a=o[l];return a==null?c:c.addMatch(a(i[l],s,f,l))}}function lt(e,t){let r=C(t.patternProperties);if(r==null)return;let n=Object.keys(r);if(n.length===0)return;let o={};for(let f=0;f<n.length;++f){let l=n[f],c=ee(l);c!=null&&(o[l]=c)}let u=Object.keys(o);if(u.length===0)return;let i={};for(let f=0;f<u.length;++f){let l=u[f],c=r[l],a=e.createValidator(c,"patternProperties",l);a!=null&&(i[l]=a)}let s=Object.keys(i);if(s.length!==0)return function(l,c,a,p){let m=new D;for(let F=0;F<s.length;++F){let h=s[F];if(o[h].test(p)){let I=i[h];m.addMatch(I(l[p],c,a,p))}}return m}}function ft(e,t){let r=$(t.additionalProperties);if(r==null)return;if(r===!1){let o=e.createErrorHandler(!1,"additionalProperties");return function(i,s,f,l){return o(l,i)}}let n=e.createValidator(r,"additionalProperties");return function(u,i,s,f){return n(u[f],i,s,f)}}function ct(e,t){let r=$(t.unevaluatedProperties);if(r!=null){if(r===!1){let n=e.createErrorHandler(!1,"unevaluatedProperties");return(o,u,i,s)=>n(s,o)}return e.createValidator(r,"unevaluatedProperties")}}function at(e,t){let r=C(t.dependentRequired);if(r==null||Object.keys(r).length===0)return;let n=e.createErrorHandler(!1,"dependentRequired");return function(u,i,s,f){if(f in r){let l=r[f];return se(Object.keys(u),l)||n(u,f,i)}return!0}}function dt(e,t){let r=C(t.dependentSchemas);if(r==null)return;let n={};for(let o in r)if(o in r){let u=r[o];if(!N(u)&&!e.options.skipErrors)throw new Error(`Expected Schema at '${e.path}/${o}'`);let i=e.createValidator(u,"dependentSchemas",o);if(i!=null)n[o]=i;else throw new Error(`Expected Validator at '${e.path}/${o}'`)}if(Object.keys(n).length!==0)return function(u,i,s,f){if(f in n){let l=n[f];return l(u,i,s,f)}return!0}}function pt(e,t){let r=C(t.dependencies);if(r==null)return;let n={};for(let o in r)if(o in r){let u=r[o];if(N(u)){let i=e.createValidator(u,"dependencies",o);if(i!=null)n[o]=i;else throw new Error(`Expected Validator at '${e.path}/${o}'`)}else if(S(u)){let i=e.createErrorHandler(u,["dependencies",o]);n[o]=function(f,l,c,a){return se(Object.keys(f),u)||i(f,a,l)}}else if(!e.options.skipErrors)throw new Error(`Expected Schema or Array at '${e.path}/${o}'`)}if(Object.keys(n).length!==0)return function(u,i,s,f){if(f in n){let l=n[f];return l(u,i,s,f)}return!0}}function mt(e,t){let r=nt(e,t),n=it(e,t),o=ot(e,t);if((r||n||o)==null)return;let u=r||d,i=n||d,s=o||d;return function(l,c,a,p){let m=p||Object.keys(l),F=m.length;return u(F,c)&&i(F,c)&&s(m,c)}}function Ft(e,t){let r=ut(e,t),n=st(e,t),o=lt(e,t),u=ft(e,t),i=dt(e,t),s=pt(e,t),f=at(e,t),l=ct(e,t);if((o||r||n||f||i||s||u||l)==null)return;let c=r||d,a=n||D.undefThat,p=o||D.undefThat,m=f||d,F=i||d,h=s||d;return function(I,w,R,M){let z=new D;return z.addValid(c(M)).addResult(a(I,w,R,M)).addResult(p(I,w,R,M)).addValid(m(I,w,R,M)).addValid(F(I,w,R,M)).addValid(h(I,w,R,M)),u?z.match?z:z.addMatch(u(I,w,R,M)):(l&&z.addValid(l(I,w,R,M)),z)}}function xt(e,t){let r=Ft(e,t);if(r!=null)return function(o,u,i,s){let f=new D;for(let l=0;l<s.length;++l){let c=s[l];f.addResult(r(o,u,i,c))}return f.isValid()}}function Me(e,t){if(te(t,"map"))return;let r=mt(e,t),n=xt(e,t);if((r||n)==null)return;let o=r||d,u=n||d;return function(s,f,l){if(E(s)){let c=Object.keys(s);return o(s,f,l,c)&&u(s,f,l,c)}return!0}}function Et(e,t){let r=g(t.minItems)||0;if(r<1)return;let n=e.createErrorHandler(r,"minItems");return function(u=0,i=""){return u>=r||n(u,i)}}function ht(e,t){let r=g(t.maxItems)||-1;if(r<0)return;let n=g(t.minItems)||0;if(r<n)throw new Error("maxItems must be greater then minItems");let o=e.createErrorHandler(r,"maxItems");return function(i=0,s=""){return i<=r||o(i,s)}}function gt(e,t,r,n){let o=B(t[r]);if(o!==!0)return;let u=e.createErrorHandler(o,r);return function(s,f){return n(s)||u(s,f)}}var vt=(e,t)=>gt(e,t,"uniqueItems",Ce);function Se(e,t,r,n){let o=A(t[r],1);if(o==null)return;let u=o.map((l,c)=>l===!0?d:l===!1?_:e.createValidator(l,r,c)),i=u.length,s=$(t[n],!0);if(typeof s=="boolean")return function(c,a,p,m){return m>=i?s:u[m](c,a,p)};let f=e.createValidator(s,n);return function(c,a,p,m){return m<i?u[m](c,a,p):f(c,a,p)}}function yt(e,t){return Se(e,t,"prefixItems","items")}function Ct(e,t){return Se(e,t,"items","additionalItems")}function Tt(e,t){let r=C(t.contains);if(r!=null)return e.createValidator(r,"contains")}function At(e,t){if(C(t.contains)==null)return;let n=g(t.minContains),o=g(t.maxContains),u=e.createErrorHandler(0,"contains"),i=e.createErrorHandler(n,"minContains"),s=e.createErrorHandler(o,"maxContains");return n==null&&o==null?function(l,c){return l>0||u(l,c)}:o==null?function(l,c){return l>=(n||0)||i(l,c)}:n==null?function(l,c){return l===0?u(l,c):l<=o||s(l,c)}:function(l,c){return(l>=n||i(l,c))&&(l<=o||s(l,c))}}function It(e,t){let r=B(t.contains);if(r===!0){let n=e.createErrorHandler(!0,"contains");return function(u,i){return u.length>0||n(u,i)}}if(r===!1){let n=e.createErrorHandler(!1,"contains");return function(u,i){return n(u,i)}}}function _t(e,t){let r=B(t.items);if(r===!0)return d;if(r!==!1)return;let n=e.createErrorHandler(!1,"items");return function(u,i){return u.length===0||n(u,i)}}function Dt(e,t){let r=C(t.items);if(r!=null)return e.createValidator(r,"items")}function Mt(e,t){let r=C(t.unevaluatedItems);if(r!=null)return e.createValidator(r,"unevaluatedItems")}function St(e,t){let r=Et(e,t),n=ht(e,t),o=vt(e,t);if((r||n||o)==null)return;let u=r||d,i=n||d,s=o||d;return function(l,c){let a=l.length;return u(a,c)&&i(a,c)&&s(l,c)}}function Nt(e,t){let r=yt(e,t)||Ct(e,t)||Dt(e,t),n=Tt(e,t),o=Mt(e,t);if((r||n||o)==null)return;let u=At(e,t)||d,i=g(t.maxItems)||0,s=f=>i>0?Math.min(i,f):f;if(n==null){let f=e.createErrorHandler(0,"items");return function(c,a,p){let m=s(c.length),F=0;for(let h=0;h<m;++h){let V=c[h];r(V,a,p,h)===!1&&F++}return F===0||f(F,a)}}return r==null?function(l,c){let a=s(l.length),p=0;for(let m=0;m<a;++m){let F=l[m];n(F,c)===!0&&p++}return u(p,c)}:function(l,c,a){let p=s(l.length),m=0,F=0;for(let h=0;h<p;++h){let V=l[h];r(V,c,a,h)!==!0&&m++,n(V,c,a)===!0&&F++}return m===0&&u(F,c)}}function Ne(e,t){if(te(t,"set"))return;let r=St(e,t),n=_t(e,t),o=It(e,t),u=Nt(e,t);if((r||n||o||u)===void 0)return;let i=r||d,s=n||d,f=o||d,l=u||d;return function(a,p,m){return S(a)?i(a,p)&&s(a,p,m)&&f(a,p,m)&&l(a,p,m):!0}}function $t(e,t){let r=A(t.allOf,1);if(r==null)return;let n=[];for(let u=0;u<r.length;++u){let i=r[u];if(i===!0)n.push(d);else if(i===!1)n.push(_);else{let s=e.createValidator(i,"allOf",u);n.push(s)}}if(n.length===0)return;let o=e.createErrorHandler(r,"allOf");return function(i,s,f,l){if(i!==void 0)for(let c=0;c<n.length;++c){let a=n[c];if(a(i,s,f,l)===!1)return o(i,s)}return!0}}function Ot(e,t){let r=A(t.anyOf,1);if(r==null)return;let n=[];for(let u=0;u<r.length;++u){let i=r[u];if(i===!0)n.push(d);else if(i===!1)n.push(_);else{let s=e.createValidator(i,"anyOf",u);n.push(s)}}if(n.length===0)return;let o=e.createErrorHandler(r,"anyOf");return function(i,s,f,l){if(i!==void 0){for(let c=0;c<n.length;++c){let a=n[c];if(a(i,s,f,l)===!0)return!0}return o(i,s)}return!0}}function wt(e,t){let r=A(t.oneOf,1);if(r==null)return;let n=[];for(let u=0;u<r.length;++u){let i=r[u];if(i===!0)n.push(d);else if(i===!1)n.push(_);else{let s=e.createValidator(i,"oneOf",u);n.push(s)}}if(n.length===0)return;let o=e.createErrorHandler(r,"oneOf");return function(i,s,f,l){let c=!1;for(let a=0;a<n.length;++a){let p=n[a];if(p(i,s,f,l)===!0){if(c===!0)return o(i,s);c=!0}}return c}}function Rt(e,t){let r=$(t.not);if(r==null)return;if(r===!0)return _;if(r===!1)return d;let n=e.createValidator(r,"not"),o=e.createErrorHandler(r,"not");return function(i,s,f,l){return i===void 0||n(i,s,f,l)===!1?!0:o(i,s)}}function $e(e,t){let r=[];function n(o){y(o)&&r.push(o)}if(n($t(e,t)),n(Ot(e,t)),n(wt(e,t)),n(Rt(e,t)),r.length!==0){if(r.length===1)return r[0];if(r.length===2){let o=r[0],u=r[1];return function(s,f,l,c){return o(s,f,l,c)&&u(s,f,l,c)}}else return function(u,i,s,f){for(let l=0;l<r.length;++l){let c=r[l];if(c(u,i,s,f)===!1)return!1}return!0}}}function Oe(e,t){let r=e.createValidator(t.if,"if"),n=e.createValidator(t.then,"then"),o=e.createValidator(t.else,"else");if(r==null||n==null&&o==null)return;let u=le(n),i=le(o);return function(f,l){return r(f)?u(f,l):i(f,l)}}function Bt(e,t){let r=B(t.required);if(r!==!0)return;let n=e.createErrorHandler(r,"required");return function(u,i){return u===void 0?n(u,i):!0}}function bt(e,t){let r=Ee(t.type);if(r==null)return;let n=ce(r);if(!n)throw new Error(`The explicit schema type '${r}' is unknown. (TODO: add trace)`);let o=e.createErrorHandler(r,"type");return function(i,s){return n(i)?!0:o(i,s)}}function Pt(e,t){let r=ue(t.type);if(r==null)return;if(r.length===0)throw new Error("The schema type property can not be an empty array.");let n=[],o=[];for(let i=0;i<r.length;++i){let s=r[i],f=ce(s);if(!f)throw new Error(`The explicit schema type '${s}' of '${n} is unknown. (TODO: add trace)`);n.push(f),o.push(s)}let u=e.createErrorHandler(o,"type");if(n.length===1){let i=n[0];return function(f,l){return i(f)?!0:u(f,l)}}else if(n.length===2){let i=n[0],s=n[1];return function(l,c){return i(l)||s(l)?!0:u(l,c)}}else if(n.length===3){let i=n[0],s=n[1],f=n[2];return function(c,a){return i(c)||s(c)||f(c)?!0:u(c,a)}}else return function(s,f){for(let l=0;l<n.length;++l)if(n[l](s)===!0)return!0;return u(s,f)}}function Vt(e,t){let r=bt(e,t)||Pt(e,t),n=B(t.nullable);if(r==null){if(n!==!1)return;let o=e.createErrorHandler(n,"nullable");return function(i,s){return i===void 0||i!==null||o(i,s)}}return n===!0?function(u,i){return u==null||r(u,i)}:function(u,i){return u===void 0||r(u,i)}}function we(e,t){if(t===!0)return d;if(t===!1)return _;if(!Y(t))throw new Error("JSON Schema MUST be a boolean or Object Type");if(Object.keys(t).length===0)return d;let r=[];if(v(r,Bt(e,t)),v(r,Vt(e,t)),v(r,Ae(e,t)),v(r,Ie(e,t)),v(r,_e(e,t)),v(r,De(e,t)),v(r,Te(e,t)),v(r,Ne(e,t)),v(r,Me(e,t)),v(r,$e(e,t)),v(r,Oe(e,t)),r.length===0)return d;if(r.length===1)return r[0];if(r.length===2){let n=r[0],o=r[1];return function(i,s,f){return n(i,s,f)&&o(i,s,f)}}if(r.length===3){let n=r[0],o=r[1],u=r[2];return function(s,f,l){return n(s,f,l)&&o(s,f,l)&&u(s,f,l)}}return function(o,u,i){for(let s=0;s<r.length;++s){let f=r[s];if(f(o,u,i)===!1)return!1}return!0}}var on=String.fromCharCode;var zt=/^[A-Za-z]+[\w\-\:\.]{0,30}$/;function Re(e){return zt.test(e)}function ae(e){return encodeURIComponent(e.replace("~","~0").replace("/","~1"))}function U(e,t,r){return r==null?`${e}/${ae(t)}`:`${e}/${ae(t)}/${ae(r)}`}function Ht(e){return decodeURIComponent(e.replace("~0","~").replace("~1","/"))}function Gt(e){return e.split("/").map(Ht).splice(1)}var P=class{constructor(t=!0,r=!0,n=!0){this.anchorsGlobal=t,this.anchorsAllowed=r,this.skipErrors=n}},k=class{constructor(t,r,n,o){this.id=t,this.search=r,this.leftUri=n,this.fragment=o}};function O(e,t,r=new P){let n=!x(e)||T(e)?new URL(t):!x(t)||T(t)?new URL(e):new URL(e,t),[o,u]=n.href.split("#"),[i,s]=o.split("?");if(!T(u)){if(r.anchorsAllowed==!0&&Re(u))return r.anchorsGlobal==!0?new k(`#${u}`,s,`${i}#`,u):new k(`${i}#${u}`,s,`${i}#`,u);if(u.startsWith("/"))return new k(`${i}#${u}`,s,`${i}#`,u)}return new k(`${i}#`,s,`${i}#`,null)}var Lt=["items","prefixItems","additionalItems","contains","unevaluatedItems","additionalProperties","propertyNames","unevaluatedProperties","not","oneOf","anyOf","allOf","if","then","else"],kt=["properties","patternProperties","dependencies","dependentSchemas","dependentRequired","definitions","$defs","components"];function de(e,t,r,n=new P){if(!E(r))return e.set(t,r),null;let{id:o}=O(r.$id,t,n);if(!x(r.$id)||T(r.$id)){if(e.has(o))throw new Error(`Schema '${o}' already exists`);e.set(o,r)}t=o;let u=[{obj:r,base:o,path:"#"}];for(;u.length>0;){let{obj:i,base:s,path:f}=u.shift();if(x(i.$id)&&!T(i.$id)){let{id:l}=O(i.$id,s,n);if(!e.has(l))e.set(l,i);else if(e.get(l)==null)e.set(l,i);else throw new Error(`Schema '${l}' for path '${f}' in '${s}' already exists`);t=l}else t=s;if(x(i.$anchor)&&!T(i.$anchor)){let{id:l}=O(`#${i.$anchor}`,t,n);if(!e.has(l))e.set(l,i);else if(e.get(l)==null)e.set(l,i);else throw new Error(`Schema '${l}' for path '${f}' in '${s}' already exists`);l.startsWith("#")||(t=l)}if(x(i.$ref)&&!T(i.$ref)){let{id:l}=O(i.$ref,t,n);e.has(l)||e.set(l,null);continue}for(let[l,c]of Object.entries(i))if(E(c)){if(Lt.includes(l))if(Array.isArray(c)){let a=c.length;for(let p=0;p<a;p++){let m=c[p],F=U(f,l,p);if(!Q(m)){if(!E(m)){if(n.skipErrors===!0)continue;throw new Error(`${F} is not a schema`)}u.push({obj:m,base:t,path:F})}}}else{let a=U(f,l);u.push({obj:c,base:t,path:a})}else if(kt.includes(l)){if(Array.isArray(c))continue;for(let[a,p]of Object.entries(c)){let m=U(f,l,a);if(!Q(p)){if(!E(p)){if(n.skipErrors===!0)continue;throw new Error(`${m} is not a schema`)}u.push({obj:p,base:t,path:m})}}}}}return o}function Be(e,t,r,n=new P){let{id:o,leftUri:u,fragment:i}=O(t,r,n);if(!e.has(u))throw new Error(`The root of reference: '$ref': '${o}', is not found in init-cache`);let s=e.get(u);if(T(i))return{id:o,schema:s};let f=Gt(i),l="";for(let c of f){if(l=l+"/"+c,!N(s[c]))throw new Error(`The '${l}' is not is not a valid schema in '${u}'`);s=s[c]}return{id:o,schema:s}}function be(e,t=new P){for(let[r,n]of e.entries()){if(n!=null)continue;let{schema:o}=Be(e,r,null,t);if(o==null)throw new Error(`Can not resolve schema for '${r}'`);e.set(r,o)}}var X=class extends P{constructor(t="https://github.com/jklarenbeek/jaren",r=!0,n,o,u){super(n,o,u),this.origin=t,this.mergeSchemas=r}};function Pe(e,t,r,n=new X){if(!E(r))return{id:t,schema:r};if(!Z(r))return{id:t,schema:r};let o=[{item:r,base:t}],u=new Set,i={};for(;o.length>0;){let{item:s,base:f}=o.shift();if(!E(s))return{id:f,schema:s};if(i=n.mergeSchemas==!0?{...s,...i}:{...s},!Z(s))return{id:f,schema:i};delete i.$ref;let l=s.$ref,{id:c,schema:a}=Be(e,l,f,n);if(u.has(c))return{id:f,schema:i};u.add(c),o.push({item:a,base:c})}throw new Error(`The json schema '${t}' can not be resolved!`)}var Ut=typeof window<"u",Xt=Ut?window.performance:{now:function(t){let r=process;if(!t)return r.hrtime();let n=r.hrtime(t);return Math.round(n[0]*1e3+n[1]/1e6)}},re=class{constructor(t,r,n,o,u,i){this.timeStamp=Xt.now(),this.object=t,this.key=r,this.expected=n,this.dataKey=o,this.value=u,this.rest=i}},ne=class{constructor(t=!0){this.skipErrors=t}},pe=class e{static _createObject(t,r,n){let o=t._objects;if(o.has(r)&&o.get(r)!=null)throw new Error(`Object at '${r}' is already created`);let u=new me(t,r,n);return o.set(r,u),u}constructor(t,r,n,o,u=new ne,i=new X){this._options=u,this._traverse=i,this._schemas=t,this._rootOrigin=n,this._formats=o,this._objects=new Map,this._errors=[],this._firstSchema=e._createObject(this,n,r)}get options(){return this._options}get formats(){return this._formats}createObject(t,r){return e._createObject(this,t,r)}unresolvedObject(t){let r=this._objects;return r.has(t)?r.get(t):(r.set(t,null),null)}resolveObject(t,r,n){let o=this._objects;if(o.has(t)&&o.get(t)!=null)return o.get(t);let u=this._schemas,i=this._traverse,{id:s,schema:f}=Pe(u,r,n,i);return e._createObject(this,s,f)}addError(t){return this._errors.push(t),!1}validate(t){return this._errors.length=0,this._firstSchema.validate(t,t)}},me=class e{static _compileValidator(t,r,n){if(!Z(n))return we(t,n);let o=t._root,{id:u}=O(n.$ref,r,o.options),i=o.unresolvedObject(u);if(i!=null){let s=i.validate;return t._validator=function(l,c){return s(l,c)},t._validator}return function(f,l){let a=o.resolveObject(u,r,n).validate;return t._validator=function(m,F){return a(m,F)},t._validator(f,l)}}constructor(t,r,n){this._root=t,this._path=r,this._members=[],this._schema=n,this._validator=null,this._validator=e._compileValidator(this,r,n)}get path(){return this._path}get errors(){return this._root.errors}get validate(){return this._validator}get options(){return this._root.options}get formats(){return this._root.formats}createErrorHandler(t,r){let n=this;return Array.isArray(r)?function(u,i,...s){let f=new re(n,r,t,u,i,s);return n._root.addError(f)}:function(u,...i){let s=new re(n,r,t,null,u,i);return n._root.addError(s)}}createValidator(t,r,n){if(!N(t))return;let o=E(t)?O(t.$id,this._path).id:this._path,u=this._root,i=n==null?U(o,r):U(o,r,String(n)),s=u.createObject(i,t);return this._members.push(s),s._validator}},Fe=class{constructor(t={},r=[],n=new ne,o=new X){this.formats=t,this.schemas=r,this.validation=n,this.traverse=o}};function vn(e,t=new Fe){let r=new Map,n=de(r,t.traverse.origin,e,t.traverse);t.schemas.forEach(u=>de(r,n,u,t.traverse)),be(r,t.traverse);let o=new pe(r,e,n,t.formats,t.validation,t.traverse);return{validate:u=>o.validate(u)}}export{X as TraverseOptions,Fe as ValidatorOptions,vn as compileSchemaValidator,Le as registerFormatCompilers};
|
|
2
2
|
//# sourceMappingURL=index.min.js.map
|