Comparing version 0.17.0 to 0.18.0
@@ -11,3 +11,3 @@ import { Predicate } from './predicates/predicate'; | ||
/** | ||
Test if the value matches the predicate. Throws an `ArgumentError` if the test fails. | ||
Returns `true` if the value matches the predicate, otherwise returns `false`. | ||
@@ -17,13 +17,11 @@ @param value - Value to test. | ||
*/ | ||
<T>(value: T, predicate: BasePredicate<T>): void; | ||
isValid: <T>(value: T, predicate: BasePredicate<T>) => value is T; | ||
/** | ||
Test if `value` matches the provided `predicate`. Throws an `ArgumentError` with the specified `label` if the test fails. | ||
Create a reusable validator. | ||
@param value - Value to test. | ||
@param label - Label which should be used in error messages. | ||
@param predicate - Predicate to test against. | ||
@param predicate - Predicate used in the validator function. | ||
*/ | ||
<T>(value: T, label: string, predicate: BasePredicate<T>): void; | ||
create: (<T>(predicate: BasePredicate<T>) => ReusableValidator<T>) & (<T>(label: string, predicate: BasePredicate<T>) => ReusableValidator<T>); | ||
/** | ||
Returns `true` if the value matches the predicate, otherwise returns `false`. | ||
Test if the value matches the predicate. Throws an `ArgumentError` if the test fails. | ||
@@ -33,16 +31,11 @@ @param value - Value to test. | ||
*/ | ||
isValid<T>(value: T, predicate: BasePredicate<T>): value is T; | ||
<T>(value: T, predicate: BasePredicate<T>): void; | ||
/** | ||
Create a reusable validator. | ||
Test if `value` matches the provided `predicate`. Throws an `ArgumentError` with the specified `label` if the test fails. | ||
@param predicate - Predicate used in the validator function. | ||
*/ | ||
create<T>(predicate: BasePredicate<T>): ReusableValidator<T>; | ||
/** | ||
Create a reusable validator. | ||
@param value - Value to test. | ||
@param label - Label which should be used in error messages. | ||
@param predicate - Predicate used in the validator function. | ||
@param predicate - Predicate to test against. | ||
*/ | ||
create<T>(label: string, predicate: BasePredicate<T>): ReusableValidator<T>; | ||
<T>(value: T, label: string, predicate: BasePredicate<T>): void; | ||
} | ||
@@ -49,0 +42,0 @@ /** |
@@ -1,2 +0,2 @@ | ||
module.exports=function(e){var t={};function r(a){if(t[a])return t[a].exports;var n=t[a]={i:a,l:!1,exports:{}};return e[a].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,a){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(a,n,function(t){return e[t]}.bind(null,n));return a},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=4)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(1),n=r(6),i=r(15),o=r(2);t.validatorSymbol=Symbol("validators");t.Predicate=class{constructor(e,t={}){this.type=e,this.options=t,this.context={validators:[]},this.context={...this.context,...this.options};const r=this.type[0].toLowerCase()+this.type.slice(1);this.addValidator({message:(e,t)=>`Expected ${(null==t?void 0:t.slice(this.type.length+1))||"argument"} to be of type \`${this.type}\` but received type \`${a.default(e)}\``,validator:e=>a.default[r](e)})}[o.testSymbol](e,t,r){for(const{validator:a,message:i}of this.context.validators){if(!0===this.options.optional&&void 0===e)continue;const o=a(e);if(!0===o)continue;let s=r;throw"function"==typeof r&&(s=r()),s=s?`${this.type} \`${s}\``:this.type,new n.ArgumentError(i(e,s,o),t)}}get[t.validatorSymbol](){return this.context.validators}get not(){return i.not(this)}validate(e){return this.addValidator({message:(e,t,r)=>"string"==typeof r?`(${t}) ${r}`:r(t),validator:t=>{const{message:r,validator:a}=e(t);return!!a||r}})}is(e){return this.addValidator({message:(e,t,r)=>r?`(${t}) ${r}`:`Expected ${t} \`${e}\` to pass custom validation function`,validator:e})}addValidator(e){return this.context.validators.push(e),this}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const{toString:a}=Object.prototype,n=e=>t=>typeof t===e,i=e=>{const t=a.call(e).slice(8,-1);if(t)return t},o=e=>t=>i(t)===e;function s(e){switch(e){case null:return"null";case!0:case!1:return"boolean"}switch(typeof e){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"bigint":return"bigint";case"symbol":return"symbol"}if(s.function_(e))return"Function";if(s.observable(e))return"Observable";if(s.array(e))return"Array";if(s.buffer(e))return"Buffer";const t=i(e);if(t)return t;if(e instanceof String||e instanceof Boolean||e instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}s.undefined=n("undefined"),s.string=n("string");const d=n("number");s.number=e=>d(e)&&!s.nan(e),s.bigint=n("bigint"),s.function_=n("function"),s.null_=e=>null===e,s.class_=e=>s.function_(e)&&e.toString().startsWith("class "),s.boolean=e=>!0===e||!1===e,s.symbol=n("symbol"),s.numericString=e=>s.string(e)&&e.length>0&&!Number.isNaN(Number(e)),s.array=Array.isArray,s.buffer=e=>!s.nullOrUndefined(e)&&!s.nullOrUndefined(e.constructor)&&s.function_(e.constructor.isBuffer)&&e.constructor.isBuffer(e),s.nullOrUndefined=e=>s.null_(e)||s.undefined(e),s.object=e=>!s.null_(e)&&("object"==typeof e||s.function_(e)),s.iterable=e=>!s.nullOrUndefined(e)&&s.function_(e[Symbol.iterator]),s.asyncIterable=e=>!s.nullOrUndefined(e)&&s.function_(e[Symbol.asyncIterator]),s.generator=e=>s.iterable(e)&&s.function_(e.next)&&s.function_(e.throw),s.asyncGenerator=e=>s.asyncIterable(e)&&s.function_(e.next)&&s.function_(e.throw),s.nativePromise=e=>o("Promise")(e);s.promise=e=>s.nativePromise(e)||(e=>s.object(e)&&s.function_(e.then)&&s.function_(e.catch))(e),s.generatorFunction=o("GeneratorFunction"),s.asyncGeneratorFunction=e=>"AsyncGeneratorFunction"===i(e),s.asyncFunction=e=>"AsyncFunction"===i(e),s.boundFunction=e=>s.function_(e)&&!e.hasOwnProperty("prototype"),s.regExp=o("RegExp"),s.date=o("Date"),s.error=o("Error"),s.map=e=>o("Map")(e),s.set=e=>o("Set")(e),s.weakMap=e=>o("WeakMap")(e),s.weakSet=e=>o("WeakSet")(e),s.int8Array=o("Int8Array"),s.uint8Array=o("Uint8Array"),s.uint8ClampedArray=o("Uint8ClampedArray"),s.int16Array=o("Int16Array"),s.uint16Array=o("Uint16Array"),s.int32Array=o("Int32Array"),s.uint32Array=o("Uint32Array"),s.float32Array=o("Float32Array"),s.float64Array=o("Float64Array"),s.bigInt64Array=o("BigInt64Array"),s.bigUint64Array=o("BigUint64Array"),s.arrayBuffer=o("ArrayBuffer"),s.sharedArrayBuffer=o("SharedArrayBuffer"),s.dataView=o("DataView"),s.directInstanceOf=(e,t)=>Object.getPrototypeOf(e)===t.prototype,s.urlInstance=e=>o("URL")(e),s.urlString=e=>{if(!s.string(e))return!1;try{return new URL(e),!0}catch(e){return!1}},s.truthy=e=>Boolean(e),s.falsy=e=>!e,s.nan=e=>Number.isNaN(e);const c=new Set(["undefined","string","number","bigint","boolean","symbol"]);s.primitive=e=>s.null_(e)||c.has(typeof e),s.integer=e=>Number.isInteger(e),s.safeInteger=e=>Number.isSafeInteger(e),s.plainObject=e=>{if("Object"!==i(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.getPrototypeOf({})};const u=new Set(["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"]);s.typedArray=e=>{const t=i(e);return void 0!==t&&u.has(t)};s.arrayLike=e=>!s.nullOrUndefined(e)&&!s.function_(e)&&(e=>s.safeInteger(e)&&e>=0)(e.length),s.inRange=(e,t)=>{if(s.number(t))return e>=Math.min(0,t)&&e<=Math.max(t,0);if(s.array(t)&&2===t.length)return e>=Math.min(...t)&&e<=Math.max(...t);throw new TypeError(`Invalid range: ${JSON.stringify(t)}`)};const l=["innerHTML","ownerDocument","style","attributes","nodeValue"];s.domElement=e=>s.object(e)&&1===e.nodeType&&s.string(e.nodeName)&&!s.plainObject(e)&&l.every(t=>t in e),s.observable=e=>!!e&&(!(!e[Symbol.observable]||e!==e[Symbol.observable]())||!(!e["@@observable"]||e!==e["@@observable"]())),s.nodeStream=e=>s.object(e)&&s.function_(e.pipe)&&!s.observable(e),s.infinite=e=>e===1/0||e===-1/0;const g=e=>t=>s.integer(t)&&Math.abs(t%2)===e;s.evenInteger=g(0),s.oddInteger=g(1),s.emptyArray=e=>s.array(e)&&0===e.length,s.nonEmptyArray=e=>s.array(e)&&e.length>0,s.emptyString=e=>s.string(e)&&0===e.length,s.nonEmptyString=e=>s.string(e)&&e.length>0;s.emptyStringOrWhitespace=e=>s.emptyString(e)||(e=>s.string(e)&&!1===/\S/.test(e))(e),s.emptyObject=e=>s.object(e)&&!s.map(e)&&!s.set(e)&&0===Object.keys(e).length,s.nonEmptyObject=e=>s.object(e)&&!s.map(e)&&!s.set(e)&&Object.keys(e).length>0,s.emptySet=e=>s.set(e)&&0===e.size,s.nonEmptySet=e=>s.set(e)&&e.size>0,s.emptyMap=e=>s.map(e)&&0===e.size,s.nonEmptyMap=e=>s.map(e)&&e.size>0;const f=(e,t,r)=>{if(!1===s.function_(t))throw new TypeError(`Invalid predicate: ${JSON.stringify(t)}`);if(0===r.length)throw new TypeError("Invalid number of values");return e.call(r,t)};s.any=(e,...t)=>(s.array(e)?e:[e]).some(e=>f(Array.prototype.some,e,t)),s.all=(e,...t)=>f(Array.prototype.every,e,t);const y=(e,t,r)=>{if(!e)throw new TypeError(`Expected value which is \`${t}\`, received value of type \`${s(r)}\`.`)};t.assert={undefined:e=>y(s.undefined(e),"undefined",e),string:e=>y(s.string(e),"string",e),number:e=>y(s.number(e),"number",e),bigint:e=>y(s.bigint(e),"bigint",e),function_:e=>y(s.function_(e),"Function",e),null_:e=>y(s.null_(e),"null",e),class_:e=>y(s.class_(e),"Class",e),boolean:e=>y(s.boolean(e),"boolean",e),symbol:e=>y(s.symbol(e),"symbol",e),numericString:e=>y(s.numericString(e),"string with a number",e),array:e=>y(s.array(e),"Array",e),buffer:e=>y(s.buffer(e),"Buffer",e),nullOrUndefined:e=>y(s.nullOrUndefined(e),"null or undefined",e),object:e=>y(s.object(e),"Object",e),iterable:e=>y(s.iterable(e),"Iterable",e),asyncIterable:e=>y(s.asyncIterable(e),"AsyncIterable",e),generator:e=>y(s.generator(e),"Generator",e),asyncGenerator:e=>y(s.asyncGenerator(e),"AsyncGenerator",e),nativePromise:e=>y(s.nativePromise(e),"native Promise",e),promise:e=>y(s.promise(e),"Promise",e),generatorFunction:e=>y(s.generatorFunction(e),"GeneratorFunction",e),asyncGeneratorFunction:e=>y(s.asyncGeneratorFunction(e),"AsyncGeneratorFunction",e),asyncFunction:e=>y(s.asyncFunction(e),"AsyncFunction",e),boundFunction:e=>y(s.boundFunction(e),"Function",e),regExp:e=>y(s.regExp(e),"RegExp",e),date:e=>y(s.date(e),"Date",e),error:e=>y(s.error(e),"Error",e),map:e=>y(s.map(e),"Map",e),set:e=>y(s.set(e),"Set",e),weakMap:e=>y(s.weakMap(e),"WeakMap",e),weakSet:e=>y(s.weakSet(e),"WeakSet",e),int8Array:e=>y(s.int8Array(e),"Int8Array",e),uint8Array:e=>y(s.uint8Array(e),"Uint8Array",e),uint8ClampedArray:e=>y(s.uint8ClampedArray(e),"Uint8ClampedArray",e),int16Array:e=>y(s.int16Array(e),"Int16Array",e),uint16Array:e=>y(s.uint16Array(e),"Uint16Array",e),int32Array:e=>y(s.int32Array(e),"Int32Array",e),uint32Array:e=>y(s.uint32Array(e),"Uint32Array",e),float32Array:e=>y(s.float32Array(e),"Float32Array",e),float64Array:e=>y(s.float64Array(e),"Float64Array",e),bigInt64Array:e=>y(s.bigInt64Array(e),"BigInt64Array",e),bigUint64Array:e=>y(s.bigUint64Array(e),"BigUint64Array",e),arrayBuffer:e=>y(s.arrayBuffer(e),"ArrayBuffer",e),sharedArrayBuffer:e=>y(s.sharedArrayBuffer(e),"SharedArrayBuffer",e),dataView:e=>y(s.dataView(e),"DataView",e),urlInstance:e=>y(s.urlInstance(e),"URL",e),urlString:e=>y(s.urlString(e),"string with a URL",e),truthy:e=>y(s.truthy(e),"truthy",e),falsy:e=>y(s.falsy(e),"falsy",e),nan:e=>y(s.nan(e),"NaN",e),primitive:e=>y(s.primitive(e),"primitive",e),integer:e=>y(s.integer(e),"integer",e),safeInteger:e=>y(s.safeInteger(e),"integer",e),plainObject:e=>y(s.plainObject(e),"plain object",e),typedArray:e=>y(s.typedArray(e),"TypedArray",e),arrayLike:e=>y(s.arrayLike(e),"array-like",e),domElement:e=>y(s.domElement(e),"Element",e),observable:e=>y(s.observable(e),"Observable",e),nodeStream:e=>y(s.nodeStream(e),"Node.js Stream",e),infinite:e=>y(s.infinite(e),"infinite number",e),emptyArray:e=>y(s.emptyArray(e),"empty array",e),nonEmptyArray:e=>y(s.nonEmptyArray(e),"non-empty array",e),emptyString:e=>y(s.emptyString(e),"empty string",e),nonEmptyString:e=>y(s.nonEmptyString(e),"non-empty string",e),emptyStringOrWhitespace:e=>y(s.emptyStringOrWhitespace(e),"empty string or whitespace",e),emptyObject:e=>y(s.emptyObject(e),"empty object",e),nonEmptyObject:e=>y(s.nonEmptyObject(e),"non-empty object",e),emptySet:e=>y(s.emptySet(e),"empty set",e),nonEmptySet:e=>y(s.nonEmptySet(e),"non-empty set",e),emptyMap:e=>y(s.emptyMap(e),"empty map",e),nonEmptyMap:e=>y(s.nonEmptyMap(e),"non-empty map",e),evenInteger:e=>y(s.evenInteger(e),"even integer",e),oddInteger:e=>y(s.oddInteger(e),"odd integer",e),directInstanceOf:(e,t)=>y(s.directInstanceOf(e,t),"T",e),inRange:(e,t)=>y(s.inRange(e,t),"in range",e),any:(e,...t)=>y(s.any(e,...t),"predicate returns truthy for any value",t),all:(e,...t)=>y(s.all(e,...t),"predicate returns truthy for all values",t)},Object.defineProperties(s,{class:{value:s.class_},function:{value:s.function_},null:{value:s.null_}}),Object.defineProperties(t.assert,{class:{value:t.assert.class_},function:{value:t.assert.function_},null:{value:t.assert.null_}}),t.default=s,e.exports=s,e.exports.default=s,e.exports.assert=t.assert},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.testSymbol=Symbol("test"),t.isPredicate=e=>Boolean(e[t.testSymbol])},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=(e,t,r=5)=>{const a=[];for(const n of t)if(!e.has(n)&&(a.push(n),a.length===r))return a;return 0===a.length||a}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(10),n=r(11),i=r(0);t.Predicate=i.Predicate;const o=r(2),s=r(17),d=r(7),c=r(9),u=(e,t,r)=>{if(!o.isPredicate(t)&&"string"!=typeof t)throw new TypeError(`Expected second argument to be a predicate or a string, got \`${typeof t}\``);if(o.isPredicate(t)){const r=a.default();c.default(e,()=>n.inferLabel(r),t)}else c.default(e,t,r)};Object.defineProperties(u,{isValid:{value:(e,t)=>{try{return u(e,t),!0}catch(e){return!1}}},create:{value:(e,t)=>(r,i)=>{if(o.isPredicate(e)){const t=a.default();c.default(r,null!=i?i:()=>n.inferLabel(t),e)}else c.default(r,null!=i?i:e,t)}}}),t.default=d.default(s.default(u));var l=r(7);t.StringPredicate=l.StringPredicate,t.NumberPredicate=l.NumberPredicate,t.BooleanPredicate=l.BooleanPredicate,t.ArrayPredicate=l.ArrayPredicate,t.ObjectPredicate=l.ObjectPredicate,t.DatePredicate=l.DatePredicate,t.ErrorPredicate=l.ErrorPredicate,t.MapPredicate=l.MapPredicate,t.WeakMapPredicate=l.WeakMapPredicate,t.SetPredicate=l.SetPredicate,t.WeakSetPredicate=l.WeakSetPredicate,t.TypedArrayPredicate=l.TypedArrayPredicate,t.ArrayBufferPredicate=l.ArrayBufferPredicate,t.DataViewPredicate=l.DataViewPredicate,t.AnyPredicate=l.AnyPredicate;var g=r(6);t.ArgumentError=g.ArgumentError},function(e,t,r){(function(e){var r="[object Arguments]",a="[object Map]",n="[object Object]",i="[object Set]",o=/^\[object .+?Constructor\]$/,s=/^(?:0|[1-9]\d*)$/,d={};d["[object Float32Array]"]=d["[object Float64Array]"]=d["[object Int8Array]"]=d["[object Int16Array]"]=d["[object Int32Array]"]=d["[object Uint8Array]"]=d["[object Uint8ClampedArray]"]=d["[object Uint16Array]"]=d["[object Uint32Array]"]=!0,d[r]=d["[object Array]"]=d["[object ArrayBuffer]"]=d["[object Boolean]"]=d["[object DataView]"]=d["[object Date]"]=d["[object Error]"]=d["[object Function]"]=d[a]=d["[object Number]"]=d[n]=d["[object RegExp]"]=d[i]=d["[object String]"]=d["[object WeakMap]"]=!1;var c="object"==typeof global&&global&&global.Object===Object&&global,u="object"==typeof self&&self&&self.Object===Object&&self,l=c||u||Function("return this")(),g=t&&!t.nodeType&&t,f=g&&"object"==typeof e&&e&&!e.nodeType&&e,y=f&&f.exports===g,p=y&&c.process,h=function(){try{return p&&p.binding&&p.binding("util")}catch(e){}}(),m=h&&h.isTypedArray;function b(e,t){for(var r=-1,a=null==e?0:e.length;++r<a;)if(t(e[r],r,e))return!0;return!1}function v(e){var t=-1,r=Array(e.size);return e.forEach((function(e,a){r[++t]=[a,e]})),r}function $(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}var _,x,E,P=Array.prototype,A=Function.prototype,O=Object.prototype,j=l["__core-js_shared__"],S=A.toString,w=O.hasOwnProperty,V=(_=/[^.]+$/.exec(j&&j.keys&&j.keys.IE_PROTO||""))?"Symbol(src)_1."+_:"",M=O.toString,k=RegExp("^"+S.call(w).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),z=y?l.Buffer:void 0,N=l.Symbol,I=l.Uint8Array,L=O.propertyIsEnumerable,B=P.splice,T=N?N.toStringTag:void 0,U=Object.getOwnPropertySymbols,F=z?z.isBuffer:void 0,J=(x=Object.keys,E=Object,function(e){return x(E(e))}),W=he(l,"DataView"),D=he(l,"Map"),R=he(l,"Promise"),q=he(l,"Set"),C=he(l,"WeakMap"),G=he(Object,"create"),K=$e(W),H=$e(D),Q=$e(R),X=$e(q),Y=$e(C),Z=N?N.prototype:void 0,ee=Z?Z.valueOf:void 0;function te(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}function re(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}function ae(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}function ne(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new ae;++t<r;)this.add(e[t])}function ie(e){var t=this.__data__=new re(e);this.size=t.size}function oe(e,t){var r=Ee(e),a=!r&&xe(e),n=!r&&!a&&Pe(e),i=!r&&!a&&!n&&we(e),o=r||a||n||i,s=o?function(e,t){for(var r=-1,a=Array(e);++r<e;)a[r]=t(r);return a}(e.length,String):[],d=s.length;for(var c in e)!t&&!w.call(e,c)||o&&("length"==c||n&&("offset"==c||"parent"==c)||i&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||ve(c,d))||s.push(c);return s}function se(e,t){for(var r=e.length;r--;)if(_e(e[r][0],t))return r;return-1}function de(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":T&&T in Object(e)?function(e){var t=w.call(e,T),r=e[T];try{e[T]=void 0;var a=!0}catch(e){}var n=M.call(e);a&&(t?e[T]=r:delete e[T]);return n}(e):function(e){return M.call(e)}(e)}function ce(e){return Se(e)&&de(e)==r}function ue(e,t,o,s,d){return e===t||(null==e||null==t||!Se(e)&&!Se(t)?e!=e&&t!=t:function(e,t,o,s,d,c){var u=Ee(e),l=Ee(t),g=u?"[object Array]":be(e),f=l?"[object Array]":be(t),y=(g=g==r?n:g)==n,p=(f=f==r?n:f)==n,h=g==f;if(h&&Pe(e)){if(!Pe(t))return!1;u=!0,y=!1}if(h&&!y)return c||(c=new ie),u||we(e)?fe(e,t,o,s,d,c):function(e,t,r,n,o,s,d){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!s(new I(e),new I(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return _e(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case a:var c=v;case i:var u=1&n;if(c||(c=$),e.size!=t.size&&!u)return!1;var l=d.get(e);if(l)return l==t;n|=2,d.set(e,t);var g=fe(c(e),c(t),n,o,s,d);return d.delete(e),g;case"[object Symbol]":if(ee)return ee.call(e)==ee.call(t)}return!1}(e,t,g,o,s,d,c);if(!(1&o)){var m=y&&w.call(e,"__wrapped__"),b=p&&w.call(t,"__wrapped__");if(m||b){var _=m?e.value():e,x=b?t.value():t;return c||(c=new ie),d(_,x,o,s,c)}}if(!h)return!1;return c||(c=new ie),function(e,t,r,a,n,i){var o=1&r,s=ye(e),d=s.length,c=ye(t).length;if(d!=c&&!o)return!1;var u=d;for(;u--;){var l=s[u];if(!(o?l in t:w.call(t,l)))return!1}var g=i.get(e);if(g&&i.get(t))return g==t;var f=!0;i.set(e,t),i.set(t,e);var y=o;for(;++u<d;){l=s[u];var p=e[l],h=t[l];if(a)var m=o?a(h,p,l,t,e,i):a(p,h,l,e,t,i);if(!(void 0===m?p===h||n(p,h,r,a,i):m)){f=!1;break}y||(y="constructor"==l)}if(f&&!y){var b=e.constructor,v=t.constructor;b!=v&&"constructor"in e&&"constructor"in t&&!("function"==typeof b&&b instanceof b&&"function"==typeof v&&v instanceof v)&&(f=!1)}return i.delete(e),i.delete(t),f}(e,t,o,s,d,c)}(e,t,o,s,ue,d))}function le(e){return!(!je(e)||function(e){return!!V&&V in e}(e))&&(Ae(e)?k:o).test($e(e))}function ge(e){if(r=(t=e)&&t.constructor,a="function"==typeof r&&r.prototype||O,t!==a)return J(e);var t,r,a,n=[];for(var i in Object(e))w.call(e,i)&&"constructor"!=i&&n.push(i);return n}function fe(e,t,r,a,n,i){var o=1&r,s=e.length,d=t.length;if(s!=d&&!(o&&d>s))return!1;var c=i.get(e);if(c&&i.get(t))return c==t;var u=-1,l=!0,g=2&r?new ne:void 0;for(i.set(e,t),i.set(t,e);++u<s;){var f=e[u],y=t[u];if(a)var p=o?a(y,f,u,t,e,i):a(f,y,u,e,t,i);if(void 0!==p){if(p)continue;l=!1;break}if(g){if(!b(t,(function(e,t){if(o=t,!g.has(o)&&(f===e||n(f,e,r,a,i)))return g.push(t);var o}))){l=!1;break}}else if(f!==y&&!n(f,y,r,a,i)){l=!1;break}}return i.delete(e),i.delete(t),l}function ye(e){return function(e,t,r){var a=t(e);return Ee(e)?a:function(e,t){for(var r=-1,a=t.length,n=e.length;++r<a;)e[n+r]=t[r];return e}(a,r(e))}(e,Ve,me)}function pe(e,t){var r,a,n=e.__data__;return("string"==(a=typeof(r=t))||"number"==a||"symbol"==a||"boolean"==a?"__proto__"!==r:null===r)?n["string"==typeof t?"string":"hash"]:n.map}function he(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return le(r)?r:void 0}te.prototype.clear=function(){this.__data__=G?G(null):{},this.size=0},te.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},te.prototype.get=function(e){var t=this.__data__;if(G){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return w.call(t,e)?t[e]:void 0},te.prototype.has=function(e){var t=this.__data__;return G?void 0!==t[e]:w.call(t,e)},te.prototype.set=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=G&&void 0===t?"__lodash_hash_undefined__":t,this},re.prototype.clear=function(){this.__data__=[],this.size=0},re.prototype.delete=function(e){var t=this.__data__,r=se(t,e);return!(r<0)&&(r==t.length-1?t.pop():B.call(t,r,1),--this.size,!0)},re.prototype.get=function(e){var t=this.__data__,r=se(t,e);return r<0?void 0:t[r][1]},re.prototype.has=function(e){return se(this.__data__,e)>-1},re.prototype.set=function(e,t){var r=this.__data__,a=se(r,e);return a<0?(++this.size,r.push([e,t])):r[a][1]=t,this},ae.prototype.clear=function(){this.size=0,this.__data__={hash:new te,map:new(D||re),string:new te}},ae.prototype.delete=function(e){var t=pe(this,e).delete(e);return this.size-=t?1:0,t},ae.prototype.get=function(e){return pe(this,e).get(e)},ae.prototype.has=function(e){return pe(this,e).has(e)},ae.prototype.set=function(e,t){var r=pe(this,e),a=r.size;return r.set(e,t),this.size+=r.size==a?0:1,this},ne.prototype.add=ne.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},ne.prototype.has=function(e){return this.__data__.has(e)},ie.prototype.clear=function(){this.__data__=new re,this.size=0},ie.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},ie.prototype.get=function(e){return this.__data__.get(e)},ie.prototype.has=function(e){return this.__data__.has(e)},ie.prototype.set=function(e,t){var r=this.__data__;if(r instanceof re){var a=r.__data__;if(!D||a.length<199)return a.push([e,t]),this.size=++r.size,this;r=this.__data__=new ae(a)}return r.set(e,t),this.size=r.size,this};var me=U?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var r=-1,a=null==e?0:e.length,n=0,i=[];++r<a;){var o=e[r];t(o,r,e)&&(i[n++]=o)}return i}(U(e),(function(t){return L.call(e,t)})))}:function(){return[]},be=de;function ve(e,t){return!!(t=null==t?9007199254740991:t)&&("number"==typeof e||s.test(e))&&e>-1&&e%1==0&&e<t}function $e(e){if(null!=e){try{return S.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function _e(e,t){return e===t||e!=e&&t!=t}(W&&"[object DataView]"!=be(new W(new ArrayBuffer(1)))||D&&be(new D)!=a||R&&"[object Promise]"!=be(R.resolve())||q&&be(new q)!=i||C&&"[object WeakMap]"!=be(new C))&&(be=function(e){var t=de(e),r=t==n?e.constructor:void 0,o=r?$e(r):"";if(o)switch(o){case K:return"[object DataView]";case H:return a;case Q:return"[object Promise]";case X:return i;case Y:return"[object WeakMap]"}return t});var xe=ce(function(){return arguments}())?ce:function(e){return Se(e)&&w.call(e,"callee")&&!L.call(e,"callee")},Ee=Array.isArray;var Pe=F||function(){return!1};function Ae(e){if(!je(e))return!1;var t=de(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Oe(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function je(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Se(e){return null!=e&&"object"==typeof e}var we=m?function(e){return function(t){return e(t)}}(m):function(e){return Se(e)&&Oe(e.length)&&!!d[de(e)]};function Ve(e){return null!=(t=e)&&Oe(t.length)&&!Ae(t)?oe(e):ge(e);var t}e.exports=function(e,t){return ue(e,t)}}).call(this,r(23)(e))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class a extends Error{constructor(e,t){super(e),Error.captureStackTrace?Error.captureStackTrace(this,t):this.stack=(new Error).stack,this.name="ArgumentError"}}t.ArgumentError=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(18);t.StringPredicate=a.StringPredicate;const n=r(20);t.NumberPredicate=n.NumberPredicate;const i=r(21);t.BooleanPredicate=i.BooleanPredicate;const o=r(0),s=r(22);t.ArrayPredicate=s.ArrayPredicate;const d=r(24);t.ObjectPredicate=d.ObjectPredicate;const c=r(29);t.DatePredicate=c.DatePredicate;const u=r(30);t.ErrorPredicate=u.ErrorPredicate;const l=r(31);t.MapPredicate=l.MapPredicate;const g=r(32);t.WeakMapPredicate=g.WeakMapPredicate;const f=r(33);t.SetPredicate=f.SetPredicate;const y=r(34);t.WeakSetPredicate=y.WeakSetPredicate;const p=r(35);t.TypedArrayPredicate=p.TypedArrayPredicate;const h=r(36);t.ArrayBufferPredicate=h.ArrayBufferPredicate;const m=r(37);t.DataViewPredicate=m.DataViewPredicate;const b=r(38);t.AnyPredicate=b.AnyPredicate,t.default=(e,t)=>(Object.defineProperties(e,{string:{get:()=>new a.StringPredicate(t)},number:{get:()=>new n.NumberPredicate(t)},boolean:{get:()=>new i.BooleanPredicate(t)},undefined:{get:()=>new o.Predicate("undefined",t)},null:{get:()=>new o.Predicate("null",t)},nullOrUndefined:{get:()=>new o.Predicate("nullOrUndefined",t)},nan:{get:()=>new o.Predicate("nan",t)},symbol:{get:()=>new o.Predicate("symbol",t)},array:{get:()=>new s.ArrayPredicate(t)},object:{get:()=>new d.ObjectPredicate(t)},date:{get:()=>new c.DatePredicate(t)},error:{get:()=>new u.ErrorPredicate(t)},map:{get:()=>new l.MapPredicate(t)},weakMap:{get:()=>new g.WeakMapPredicate(t)},set:{get:()=>new f.SetPredicate(t)},weakSet:{get:()=>new y.WeakSetPredicate(t)},function:{get:()=>new o.Predicate("Function",t)},buffer:{get:()=>new o.Predicate("Buffer",t)},regExp:{get:()=>new o.Predicate("RegExp",t)},promise:{get:()=>new o.Predicate("Promise",t)},typedArray:{get:()=>new p.TypedArrayPredicate("TypedArray",t)},int8Array:{get:()=>new p.TypedArrayPredicate("Int8Array",t)},uint8Array:{get:()=>new p.TypedArrayPredicate("Uint8Array",t)},uint8ClampedArray:{get:()=>new p.TypedArrayPredicate("Uint8ClampedArray",t)},int16Array:{get:()=>new p.TypedArrayPredicate("Int16Array",t)},uint16Array:{get:()=>new p.TypedArrayPredicate("Uint16Array",t)},int32Array:{get:()=>new p.TypedArrayPredicate("Int32Array",t)},uint32Array:{get:()=>new p.TypedArrayPredicate("Uint32Array",t)},float32Array:{get:()=>new p.TypedArrayPredicate("Float32Array",t)},float64Array:{get:()=>new p.TypedArrayPredicate("Float64Array",t)},arrayBuffer:{get:()=>new h.ArrayBufferPredicate("ArrayBuffer",t)},sharedArrayBuffer:{get:()=>new h.ArrayBufferPredicate("SharedArrayBuffer",t)},dataView:{get:()=>new m.DataViewPredicate(t)},iterable:{get:()=>new o.Predicate("Iterable",t)},any:{value:(...e)=>new b.AnyPredicate(e,t)}}),e)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(4);t.default=(e,t)=>{try{for(const r of e)a.default(r,t);return!0}catch(e){return e.message}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(2);t.default=function e(t,r,n){n[a.testSymbol](t,e,r)}},function(e,t,r){"use strict";const a=()=>{const e=Error.prepareStackTrace;Error.prepareStackTrace=(e,t)=>t;const t=(new Error).stack.slice(1);return Error.prepareStackTrace=e,t};e.exports=a,e.exports.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(12),n=r(13),i=r(14),o=/^.*?\((?<label>.*?)[,)]/;t.inferLabel=e=>{var t;if(!i.default)return;const r=e[1],s=r.getFileName(),d=r.getLineNumber(),c=r.getColumnNumber();if(null===s||null===d||null===c)return;let u=[];try{u=a.readFileSync(s,"utf8").split("\n")}catch(e){return}let l=u[d-1];if(!l)return;l=l.slice(c-1);const g=o.exec(l);if(!(null===(t=null==g?void 0:g.groups)||void 0===t?void 0:t.label))return;const f=g.groups.label;return n.default(f)||n.default(f.split(".").pop())?f:void 0}},function(e,t){e.exports=require("fs")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=/^[a-z$_][a-z$_\d]*$/i,n=new Set(["undefined","null","true","false","super","this","Infinity","NaN"]);t.default=e=>e&&!n.has(e)&&a.test(e)},function(e,t,r){"use strict";var a;Object.defineProperty(t,"__esModule",{value:!0}),t.default=Boolean(null===(a=null===process||void 0===process?void 0:process.versions)||void 0===a?void 0:a.node)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(16),n=r(0);t.not=e=>{const t=e.addValidator;return e.addValidator=r=>{const{validator:i,message:o,negatedMessage:s}=r,d=a.default();return r.message=(e,t)=>s?s(e,t):o(e,d).replace(/ to /,"$¬ ").replace(d,t),r.validator=e=>!i(e),e[n.validatorSymbol].push(r),e.addValidator=t,e},e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=()=>Math.random().toString(16).slice(2)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(7);t.default=e=>(Object.defineProperties(e,{optional:{get:()=>a.default({},{optional:!0})}}),e)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(1),n=r(19),i=r(0);class o extends i.Predicate{constructor(e){super("string",e)}length(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have length \`${e}\`, got \`${t}\``,validator:t=>t.length===e})}minLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a minimum length of \`${e}\`, got \`${t}\``,validator:t=>t.length>=e,negatedMessage:(t,r)=>`Expected ${r} to have a maximum length of \`${e-1}\`, got \`${t}\``})}maxLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a maximum length of \`${e}\`, got \`${t}\``,validator:t=>t.length<=e,negatedMessage:(t,r)=>`Expected ${r} to have a minimum length of \`${e+1}\`, got \`${t}\``})}matches(e){return this.addValidator({message:(t,r)=>`Expected ${r} to match \`${e}\`, got \`${t}\``,validator:t=>e.test(t)})}startsWith(e){return this.addValidator({message:(t,r)=>`Expected ${r} to start with \`${e}\`, got \`${t}\``,validator:t=>t.startsWith(e)})}endsWith(e){return this.addValidator({message:(t,r)=>`Expected ${r} to end with \`${e}\`, got \`${t}\``,validator:t=>t.endsWith(e)})}includes(e){return this.addValidator({message:(t,r)=>`Expected ${r} to include \`${e}\`, got \`${t}\``,validator:t=>t.includes(e)})}oneOf(e){return this.addValidator({message:(t,r)=>{let a=JSON.stringify(e);if(e.length>10){const t=e.length-10;a=JSON.stringify(e.slice(0,10)).replace(/]$/,`,…+${t} more]`)}return`Expected ${r} to be one of \`${a}\`, got \`${t}\``},validator:t=>e.includes(t)})}get empty(){return this.addValidator({message:(e,t)=>`Expected ${t} to be empty, got \`${e}\``,validator:e=>""===e})}get nonEmpty(){return this.addValidator({message:(e,t)=>`Expected ${t} to not be empty`,validator:e=>""!==e})}equals(e){return this.addValidator({message:(t,r)=>`Expected ${r} to be equal to \`${e}\`, got \`${t}\``,validator:t=>t===e})}get alphanumeric(){return this.addValidator({message:(e,t)=>`Expected ${t} to be alphanumeric, got \`${e}\``,validator:e=>/^[a-z\d]+$/i.test(e)})}get alphabetical(){return this.addValidator({message:(e,t)=>`Expected ${t} to be alphabetical, got \`${e}\``,validator:e=>/^[a-z]+$/gi.test(e)})}get numeric(){return this.addValidator({message:(e,t)=>`Expected ${t} to be numeric, got \`${e}\``,validator:e=>/^(?:\+|-)?\d+$/i.test(e)})}get date(){return this.addValidator({message:(e,t)=>`Expected ${t} to be a date, got \`${e}\``,validator:n})}get lowercase(){return this.addValidator({message:(e,t)=>`Expected ${t} to be lowercase, got \`${e}\``,validator:e=>""!==e.trim()&&e===e.toLowerCase()})}get uppercase(){return this.addValidator({message:(e,t)=>`Expected ${t} to be uppercase, got \`${e}\``,validator:e=>""!==e.trim()&&e===e.toUpperCase()})}get url(){return this.addValidator({message:(e,t)=>`Expected ${t} to be a URL, got \`${e}\``,validator:a.default.urlString})}}t.StringPredicate=o},function(e,t,r){"use strict";e.exports=function(e){return!isNaN(Date.parse(e))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(1),n=r(0);class i extends n.Predicate{constructor(e){super("number",e)}inRange(e,t){return this.addValidator({message:(r,a)=>`Expected ${a} to be in range [${e}..${t}], got ${r}`,validator:r=>a.default.inRange(r,[e,t])})}greaterThan(e){return this.addValidator({message:(t,r)=>`Expected ${r} to be greater than ${e}, got ${t}`,validator:t=>t>e})}greaterThanOrEqual(e){return this.addValidator({message:(t,r)=>`Expected ${r} to be greater than or equal to ${e}, got ${t}`,validator:t=>t>=e})}lessThan(e){return this.addValidator({message:(t,r)=>`Expected ${r} to be less than ${e}, got ${t}`,validator:t=>t<e})}lessThanOrEqual(e){return this.addValidator({message:(t,r)=>`Expected ${r} to be less than or equal to ${e}, got ${t}`,validator:t=>t<=e})}equal(e){return this.addValidator({message:(t,r)=>`Expected ${r} to be equal to ${e}, got ${t}`,validator:t=>t===e})}oneOf(e){return this.addValidator({message:(t,r)=>{let a=JSON.stringify(e);if(e.length>10){const t=e.length-10;a=JSON.stringify(e.slice(0,10)).replace(/]$/,`,…+${t} more]`)}return`Expected ${r} to be one of \`${a}\`, got ${t}`},validator:t=>e.includes(t)})}get integer(){return this.addValidator({message:(e,t)=>`Expected ${t} to be an integer, got ${e}`,validator:e=>a.default.integer(e)})}get finite(){return this.addValidator({message:(e,t)=>`Expected ${t} to be finite, got ${e}`,validator:e=>!a.default.infinite(e)})}get infinite(){return this.addValidator({message:(e,t)=>`Expected ${t} to be infinite, got ${e}`,validator:e=>a.default.infinite(e)})}get positive(){return this.addValidator({message:(e,t)=>`Expected ${t} to be positive, got ${e}`,validator:e=>e>0})}get negative(){return this.addValidator({message:(e,t)=>`Expected ${t} to be negative, got ${e}`,validator:e=>e<0})}get integerOrInfinite(){return this.addValidator({message:(e,t)=>`Expected ${t} to be an integer or infinite, got ${e}`,validator:e=>a.default.integer(e)||a.default.infinite(e)})}get uint8(){return this.integer.inRange(0,255)}get uint16(){return this.integer.inRange(0,65535)}get uint32(){return this.integer.inRange(0,4294967295)}get int8(){return this.integer.inRange(-128,127)}get int16(){return this.integer.inRange(-32768,32767)}get int32(){return this.integer.inRange(-2147483648,2147483647)}}t.NumberPredicate=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(0);class n extends a.Predicate{constructor(e){super("boolean",e)}get true(){return this.addValidator({message:(e,t)=>`Expected ${t} to be true, got ${e}`,validator:e=>e})}get false(){return this.addValidator({message:(e,t)=>`Expected ${t} to be false, got ${e}`,validator:e=>!e})}}t.BooleanPredicate=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(5),n=r(0),i=r(4);class o extends n.Predicate{constructor(e){super("array",e)}length(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have length \`${e}\`, got \`${t.length}\``,validator:t=>t.length===e})}minLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a minimum length of \`${e}\`, got \`${t.length}\``,validator:t=>t.length>=e,negatedMessage:(t,r)=>`Expected ${r} to have a maximum length of \`${e-1}\`, got \`${t.length}\``})}maxLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a maximum length of \`${e}\`, got \`${t.length}\``,validator:t=>t.length<=e,negatedMessage:(t,r)=>`Expected ${r} to have a minimum length of \`${e+1}\`, got \`${t.length}\``})}startsWith(e){return this.addValidator({message:(t,r)=>`Expected ${r} to start with \`${e}\`, got \`${t[0]}\``,validator:t=>t[0]===e})}endsWith(e){return this.addValidator({message:(t,r)=>`Expected ${r} to end with \`${e}\`, got \`${t[t.length-1]}\``,validator:t=>t[t.length-1]===e})}includes(...e){return this.addValidator({message:(t,r)=>`Expected ${r} to include all elements of \`${JSON.stringify(e)}\`, got \`${JSON.stringify(t)}\``,validator:t=>e.every(e=>t.includes(e))})}includesAny(...e){return this.addValidator({message:(t,r)=>`Expected ${r} to include any element of \`${JSON.stringify(e)}\`, got \`${JSON.stringify(t)}\``,validator:t=>e.some(e=>t.includes(e))})}get empty(){return this.addValidator({message:(e,t)=>`Expected ${t} to be empty, got \`${JSON.stringify(e)}\``,validator:e=>0===e.length})}get nonEmpty(){return this.addValidator({message:(e,t)=>`Expected ${t} to not be empty`,validator:e=>e.length>0})}deepEqual(e){return this.addValidator({message:(t,r)=>`Expected ${r} to be deeply equal to \`${JSON.stringify(e)}\`, got \`${JSON.stringify(t)}\``,validator:t=>a(t,e)})}ofType(e){let t;return this.addValidator({message:(e,r)=>`(${r}) ${t}`,validator:r=>{try{for(const t of r)i.default(t,e);return!0}catch(e){return t=e.message,!1}}})}}t.ArrayPredicate=o},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(1),n=r(25),i=r(5),o=r(3),s=r(8),d=r(27),c=r(28),u=r(0);class l extends u.Predicate{constructor(e){super("object",e)}get plain(){return this.addValidator({message:(e,t)=>`Expected ${t} to be a plain object`,validator:e=>a.default.plainObject(e)})}get empty(){return this.addValidator({message:(e,t)=>`Expected ${t} to be empty, got \`${JSON.stringify(e)}\``,validator:e=>0===Object.keys(e).length})}get nonEmpty(){return this.addValidator({message:(e,t)=>`Expected ${t} to not be empty`,validator:e=>Object.keys(e).length>0})}valuesOfType(e){return this.addValidator({message:(e,t,r)=>`(${t}) ${r}`,validator:t=>s.default(Object.values(t),e)})}deepValuesOfType(e){return this.addValidator({message:(e,t,r)=>`(${t}) ${r}`,validator:t=>d.default(t,e)})}deepEqual(e){return this.addValidator({message:(t,r)=>`Expected ${r} to be deeply equal to \`${JSON.stringify(e)}\`, got \`${JSON.stringify(t)}\``,validator:t=>i(t,e)})}instanceOf(e){return this.addValidator({message:(t,r)=>{let{name:a}=t.constructor;return a&&"Object"!==a||(a=JSON.stringify(t)),`Expected ${r} \`${a}\` to be of type \`${e.name}\``},validator:t=>t instanceof e})}hasKeys(...e){return this.addValidator({message:(e,t,r)=>`Expected ${t} to have keys \`${JSON.stringify(r)}\``,validator:t=>o.default({has:e=>n.has(t,e)},e)})}hasAnyKeys(...e){return this.addValidator({message:(t,r)=>`Expected ${r} to have any key of \`${JSON.stringify(e)}\``,validator:t=>e.some(e=>n.has(t,e))})}partialShape(e){return this.addValidator({message:(e,t,r)=>`${r.replace("Expected","Expected property")} in ${t}`,validator:t=>c.partial(t,e)})}exactShape(e){return this.addValidator({message:(e,t,r)=>`${r.replace("Expected","Expected property")} in ${t}`,validator:t=>c.exact(t,e)})}}t.ObjectPredicate=l},function(e,t,r){"use strict";const a=r(26),n=["__proto__","prototype","constructor"];function i(e){const t=e.split("."),r=[];for(let e=0;e<t.length;e++){let a=t[e];for(;"\\"===a[a.length-1]&&void 0!==t[e+1];)a=a.slice(0,-1)+".",a+=t[++e];r.push(a)}return r.some(e=>n.includes(e))?[]:r}e.exports={get(e,t,r){if(!a(e)||"string"!=typeof t)return void 0===r?e:r;const n=i(t);if(0!==n.length){for(let t=0;t<n.length;t++){if(!Object.prototype.propertyIsEnumerable.call(e,n[t]))return r;if(null==(e=e[n[t]])){if(t!==n.length-1)return r;break}}return e}},set(e,t,r){if(!a(e)||"string"!=typeof t)return e;const n=e,o=i(t);for(let t=0;t<o.length;t++){const n=o[t];a(e[n])||(e[n]={}),t===o.length-1&&(e[n]=r),e=e[n]}return n},delete(e,t){if(!a(e)||"string"!=typeof t)return;const r=i(t);for(let t=0;t<r.length;t++){const n=r[t];if(t===r.length-1)return void delete e[n];if(e=e[n],!a(e))return}},has(e,t){if(!a(e)||"string"!=typeof t)return!1;const r=i(t);if(0===r.length)return!1;for(let t=0;t<r.length;t++){if(!a(e))return!1;if(!(r[t]in e))return!1;e=e[r[t]]}return!0}}},function(e,t,r){"use strict";e.exports=e=>{const t=typeof e;return null!==e&&("object"===t||"function"===t)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(1),n=r(4),i=(e,t)=>a.default.plainObject(e)?Object.values(e).every(e=>i(e,t)):(n.default(e,t),!0);t.default=(e,t)=>{try{return i(e,t)}catch(e){return e.message}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(1),n=r(9),i=r(2);t.partial=function e(t,r,o){try{for(const s of Object.keys(r)){const d=o?`${o}.${s}`:s;if(i.isPredicate(r[s]))n.default(t[s],d,r[s]);else if(a.default.plainObject(r[s])){const a=e(t[s],r[s],d);if(!0!==a)return a}}return!0}catch(e){return e.message}},t.exact=function e(t,r,o){try{const s=new Set(Object.keys(t));for(const d of Object.keys(r)){s.delete(d);const c=o?`${o}.${d}`:d;if(i.isPredicate(r[d]))n.default(t[d],c,r[d]);else if(a.default.plainObject(r[d])){if(!Object.prototype.hasOwnProperty.call(t,d))return`Expected \`${c}\` to exist`;const a=e(t[d],r[d],c);if(!0!==a)return a}}if(s.size>0){const e=[...s.keys()][0];return`Did not expect property \`${o?`${o}.${e}`:e}\` to exist, got \`${t[e]}\``}return!0}catch(e){return e.message}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(0);class n extends a.Predicate{constructor(e){super("date",e)}before(e){return this.addValidator({message:(t,r)=>`Expected ${r} ${t.toISOString()} to be before ${e.toISOString()}`,validator:t=>t.getTime()<e.getTime()})}after(e){return this.addValidator({message:(t,r)=>`Expected ${r} ${t.toISOString()} to be after ${e.toISOString()}`,validator:t=>t.getTime()>e.getTime()})}}t.DatePredicate=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(0);class n extends a.Predicate{constructor(e){super("error",e)}name(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have name \`${e}\`, got \`${t.name}\``,validator:t=>t.name===e})}message(e){return this.addValidator({message:(t,r)=>`Expected ${r} message to be \`${e}\`, got \`${t.message}\``,validator:t=>t.message===e})}messageIncludes(e){return this.addValidator({message:(t,r)=>`Expected ${r} message to include \`${e}\`, got \`${t.message}\``,validator:t=>t.message.includes(e)})}hasKeys(...e){return this.addValidator({message:(t,r)=>`Expected ${r} message to have keys \`${e.join("`, `")}\``,validator:t=>e.every(e=>Object.prototype.hasOwnProperty.call(t,e))})}instanceOf(e){return this.addValidator({message:(t,r)=>`Expected ${r} \`${t.name}\` to be of type \`${e.name}\``,validator:t=>t instanceof e})}get typeError(){return this.instanceOf(TypeError)}get evalError(){return this.instanceOf(EvalError)}get rangeError(){return this.instanceOf(RangeError)}get referenceError(){return this.instanceOf(ReferenceError)}get syntaxError(){return this.instanceOf(SyntaxError)}get uriError(){return this.instanceOf(URIError)}}t.ErrorPredicate=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(5),n=r(3),i=r(8),o=r(0);class s extends o.Predicate{constructor(e){super("Map",e)}size(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have size \`${e}\`, got \`${t.size}\``,validator:t=>t.size===e})}minSize(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a minimum size of \`${e}\`, got \`${t.size}\``,validator:t=>t.size>=e,negatedMessage:(t,r)=>`Expected ${r} to have a maximum size of \`${e-1}\`, got \`${t.size}\``})}maxSize(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a maximum size of \`${e}\`, got \`${t.size}\``,validator:t=>t.size<=e,negatedMessage:(t,r)=>`Expected ${r} to have a minimum size of \`${e+1}\`, got \`${t.size}\``})}hasKeys(...e){return this.addValidator({message:(e,t,r)=>`Expected ${t} to have keys \`${JSON.stringify(r)}\``,validator:t=>n.default(t,e)})}hasAnyKeys(...e){return this.addValidator({message:(t,r)=>`Expected ${r} to have any key of \`${JSON.stringify(e)}\``,validator:t=>e.some(e=>t.has(e))})}hasValues(...e){return this.addValidator({message:(e,t,r)=>`Expected ${t} to have values \`${JSON.stringify(r)}\``,validator:t=>n.default(new Set(t.values()),e)})}hasAnyValues(...e){return this.addValidator({message:(t,r)=>`Expected ${r} to have any value of \`${JSON.stringify(e)}\``,validator:t=>{const r=new Set(t.values());return e.some(e=>r.has(e))}})}keysOfType(e){return this.addValidator({message:(e,t,r)=>`(${t}) ${r}`,validator:t=>i.default(t.keys(),e)})}valuesOfType(e){return this.addValidator({message:(e,t,r)=>`(${t}) ${r}`,validator:t=>i.default(t.values(),e)})}get empty(){return this.addValidator({message:(e,t)=>`Expected ${t} to be empty, got \`${JSON.stringify([...e])}\``,validator:e=>0===e.size})}get nonEmpty(){return this.addValidator({message:(e,t)=>`Expected ${t} to not be empty`,validator:e=>e.size>0})}deepEqual(e){return this.addValidator({message:(t,r)=>`Expected ${r} to be deeply equal to \`${JSON.stringify([...e])}\`, got \`${JSON.stringify([...t])}\``,validator:t=>a(t,e)})}}t.MapPredicate=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(3),n=r(0);class i extends n.Predicate{constructor(e){super("WeakMap",e)}hasKeys(...e){return this.addValidator({message:(e,t,r)=>`Expected ${t} to have keys \`${JSON.stringify(r)}\``,validator:t=>a.default(t,e)})}hasAnyKeys(...e){return this.addValidator({message:(t,r)=>`Expected ${r} to have any key of \`${JSON.stringify(e)}\``,validator:t=>e.some(e=>t.has(e))})}}t.WeakMapPredicate=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(5),n=r(3),i=r(8),o=r(0);class s extends o.Predicate{constructor(e){super("Set",e)}size(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have size \`${e}\`, got \`${t.size}\``,validator:t=>t.size===e})}minSize(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a minimum size of \`${e}\`, got \`${t.size}\``,validator:t=>t.size>=e,negatedMessage:(t,r)=>`Expected ${r} to have a maximum size of \`${e-1}\`, got \`${t.size}\``})}maxSize(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a maximum size of \`${e}\`, got \`${t.size}\``,validator:t=>t.size<=e,negatedMessage:(t,r)=>`Expected ${r} to have a minimum size of \`${e+1}\`, got \`${t.size}\``})}has(...e){return this.addValidator({message:(e,t,r)=>`Expected ${t} to have items \`${JSON.stringify(r)}\``,validator:t=>n.default(t,e)})}hasAny(...e){return this.addValidator({message:(t,r)=>`Expected ${r} to have any item of \`${JSON.stringify(e)}\``,validator:t=>e.some(e=>t.has(e))})}ofType(e){return this.addValidator({message:(e,t,r)=>`(${t}) ${r}`,validator:t=>i.default(t,e)})}get empty(){return this.addValidator({message:(e,t)=>`Expected ${t} to be empty, got \`${JSON.stringify([...e])}\``,validator:e=>0===e.size})}get nonEmpty(){return this.addValidator({message:(e,t)=>`Expected ${t} to not be empty`,validator:e=>e.size>0})}deepEqual(e){return this.addValidator({message:(t,r)=>`Expected ${r} to be deeply equal to \`${JSON.stringify([...e])}\`, got \`${JSON.stringify([...t])}\``,validator:t=>a(t,e)})}}t.SetPredicate=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(3),n=r(0);class i extends n.Predicate{constructor(e){super("WeakSet",e)}has(...e){return this.addValidator({message:(e,t,r)=>`Expected ${t} to have items \`${JSON.stringify(r)}\``,validator:t=>a.default(t,e)})}hasAny(...e){return this.addValidator({message:(t,r)=>`Expected ${r} to have any item of \`${JSON.stringify(e)}\``,validator:t=>e.some(e=>t.has(e))})}}t.WeakSetPredicate=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(0);class n extends a.Predicate{byteLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have byte length of \`${e}\`, got \`${t.byteLength}\``,validator:t=>t.byteLength===e})}minByteLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a minimum byte length of \`${e}\`, got \`${t.byteLength}\``,validator:t=>t.byteLength>=e,negatedMessage:(t,r)=>`Expected ${r} to have a maximum byte length of \`${e-1}\`, got \`${t.byteLength}\``})}maxByteLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a maximum byte length of \`${e}\`, got \`${t.byteLength}\``,validator:t=>t.byteLength<=e,negatedMessage:(t,r)=>`Expected ${r} to have a minimum byte length of \`${e+1}\`, got \`${t.byteLength}\``})}length(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have length \`${e}\`, got \`${t.length}\``,validator:t=>t.length===e})}minLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a minimum length of \`${e}\`, got \`${t.length}\``,validator:t=>t.length>=e,negatedMessage:(t,r)=>`Expected ${r} to have a maximum length of \`${e-1}\`, got \`${t.length}\``})}maxLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a maximum length of \`${e}\`, got \`${t.length}\``,validator:t=>t.length<=e,negatedMessage:(t,r)=>`Expected ${r} to have a minimum length of \`${e+1}\`, got \`${t.length}\``})}}t.TypedArrayPredicate=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(0);class n extends a.Predicate{byteLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have byte length of \`${e}\`, got \`${t.byteLength}\``,validator:t=>t.byteLength===e})}minByteLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a minimum byte length of \`${e}\`, got \`${t.byteLength}\``,validator:t=>t.byteLength>=e,negatedMessage:(t,r)=>`Expected ${r} to have a maximum byte length of \`${e-1}\`, got \`${t.byteLength}\``})}maxByteLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a maximum byte length of \`${e}\`, got \`${t.byteLength}\``,validator:t=>t.byteLength<=e,negatedMessage:(t,r)=>`Expected ${r} to have a minimum byte length of \`${e+1}\`, got \`${t.byteLength}\``})}}t.ArrayBufferPredicate=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(0);class n extends a.Predicate{constructor(e){super("DataView",e)}byteLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have byte length of \`${e}\`, got \`${t.byteLength}\``,validator:t=>t.byteLength===e})}minByteLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a minimum byte length of \`${e}\`, got \`${t.byteLength}\``,validator:t=>t.byteLength>=e,negatedMessage:(t,r)=>`Expected ${r} to have a maximum byte length of \`${e-1}\`, got \`${t.byteLength}\``})}maxByteLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a maximum byte length of \`${e}\`, got \`${t.byteLength}\``,validator:t=>t.byteLength<=e,negatedMessage:(t,r)=>`Expected ${r} to have a minimum byte length of \`${e+1}\`, got \`${t.byteLength}\``})}}t.DataViewPredicate=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(6),n=r(2);t.AnyPredicate=class{constructor(e,t={}){this.predicates=e,this.options=t}[n.testSymbol](e,t,r){const n=["Any predicate failed with the following errors:"];for(const a of this.predicates)try{return void t(e,r,a)}catch(t){if(void 0===e&&!0===this.options.optional)return;n.push(`- ${t.message}`)}throw new a.ArgumentError(n.join("\n"),t)}}}]);const __export__=module.exports;module.exports=__export__.default,Object.assign(module.exports,__export__); | ||
module.exports=function(e){var t={};function r(a){if(t[a])return t[a].exports;var n=t[a]={i:a,l:!1,exports:{}};return e[a].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,a){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(a,n,function(t){return e[t]}.bind(null,n));return a},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=4)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Predicate=t.validatorSymbol=void 0;const a=r(1),n=r(6),i=r(15),o=r(2);t.validatorSymbol=Symbol("validators");class s{constructor(e,t={}){this.type=e,this.options=t,this.context={validators:[]},this.context={...this.context,...this.options};const r=this.type[0].toLowerCase()+this.type.slice(1);this.addValidator({message:(e,t)=>`Expected ${(null==t?void 0:t.slice(this.type.length+1))||"argument"} to be of type \`${this.type}\` but received type \`${a.default(e)}\``,validator:e=>a.default[r](e)})}[o.testSymbol](e,t,r){for(const{validator:a,message:i}of this.context.validators){if(!0===this.options.optional&&void 0===e)continue;const o=a(e);if(!0===o)continue;let s=r;throw"function"==typeof r&&(s=r()),s=s?`${this.type} \`${s}\``:this.type,new n.ArgumentError(i(e,s,o),t)}}get[t.validatorSymbol](){return this.context.validators}get not(){return i.not(this)}validate(e){return this.addValidator({message:(e,t,r)=>"string"==typeof r?`(${t}) ${r}`:r(t),validator:t=>{const{message:r,validator:a}=e(t);return!!a||r}})}is(e){return this.addValidator({message:(e,t,r)=>r?`(${t}) ${r}`:`Expected ${t} \`${e}\` to pass custom validation function`,validator:e})}message(e){const{validators:t}=this.context;return t[t.length-1].message=(t,r)=>"function"==typeof e?e(t,r):e,this}addValidator(e){return this.context.validators.push(e),this}}t.Predicate=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];const n=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement",...a];const i=["null","undefined","string","number","bigint","boolean","symbol"];function o(e){return t=>typeof t===e}const{toString:s}=Object.prototype,d=e=>{const t=s.call(e).slice(8,-1);return/HTML\w+Element/.test(t)&&u.domElement(e)?"HTMLElement":(r=t,n.includes(r)?t:void 0);var r},c=e=>t=>d(t)===e;function u(e){if(null===e)return"null";switch(typeof e){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol"}if(u.observable(e))return"Observable";if(u.array(e))return"Array";if(u.buffer(e))return"Buffer";const t=d(e);if(t)return t;if(e instanceof String||e instanceof Boolean||e instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}u.undefined=o("undefined"),u.string=o("string");const l=o("number");u.number=e=>l(e)&&!u.nan(e),u.bigint=o("bigint"),u.function_=o("function"),u.null_=e=>null===e,u.class_=e=>u.function_(e)&&e.toString().startsWith("class "),u.boolean=e=>!0===e||!1===e,u.symbol=o("symbol"),u.numericString=e=>u.string(e)&&!u.emptyStringOrWhitespace(e)&&!Number.isNaN(Number(e)),u.array=(e,t)=>!!Array.isArray(e)&&(!u.function_(t)||e.every(t)),u.buffer=e=>{var t,r,a,n;return null!==(n=null===(a=null===(r=null===(t=e)||void 0===t?void 0:t.constructor)||void 0===r?void 0:r.isBuffer)||void 0===a?void 0:a.call(r,e))&&void 0!==n&&n},u.nullOrUndefined=e=>u.null_(e)||u.undefined(e),u.object=e=>!u.null_(e)&&("object"==typeof e||u.function_(e)),u.iterable=e=>{var t;return u.function_(null===(t=e)||void 0===t?void 0:t[Symbol.iterator])},u.asyncIterable=e=>{var t;return u.function_(null===(t=e)||void 0===t?void 0:t[Symbol.asyncIterator])},u.generator=e=>u.iterable(e)&&u.function_(e.next)&&u.function_(e.throw),u.asyncGenerator=e=>u.asyncIterable(e)&&u.function_(e.next)&&u.function_(e.throw),u.nativePromise=e=>c("Promise")(e);u.promise=e=>u.nativePromise(e)||(e=>{var t,r;return u.function_(null===(t=e)||void 0===t?void 0:t.then)&&u.function_(null===(r=e)||void 0===r?void 0:r.catch)})(e),u.generatorFunction=c("GeneratorFunction"),u.asyncGeneratorFunction=e=>"AsyncGeneratorFunction"===d(e),u.asyncFunction=e=>"AsyncFunction"===d(e),u.boundFunction=e=>u.function_(e)&&!e.hasOwnProperty("prototype"),u.regExp=c("RegExp"),u.date=c("Date"),u.error=c("Error"),u.map=e=>c("Map")(e),u.set=e=>c("Set")(e),u.weakMap=e=>c("WeakMap")(e),u.weakSet=e=>c("WeakSet")(e),u.int8Array=c("Int8Array"),u.uint8Array=c("Uint8Array"),u.uint8ClampedArray=c("Uint8ClampedArray"),u.int16Array=c("Int16Array"),u.uint16Array=c("Uint16Array"),u.int32Array=c("Int32Array"),u.uint32Array=c("Uint32Array"),u.float32Array=c("Float32Array"),u.float64Array=c("Float64Array"),u.bigInt64Array=c("BigInt64Array"),u.bigUint64Array=c("BigUint64Array"),u.arrayBuffer=c("ArrayBuffer"),u.sharedArrayBuffer=c("SharedArrayBuffer"),u.dataView=c("DataView"),u.directInstanceOf=(e,t)=>Object.getPrototypeOf(e)===t.prototype,u.urlInstance=e=>c("URL")(e),u.urlString=e=>{if(!u.string(e))return!1;try{return new URL(e),!0}catch(e){return!1}},u.truthy=e=>Boolean(e),u.falsy=e=>!e,u.nan=e=>Number.isNaN(e),u.primitive=e=>{return u.null_(e)||(t=typeof e,i.includes(t));var t},u.integer=e=>Number.isInteger(e),u.safeInteger=e=>Number.isSafeInteger(e),u.plainObject=e=>{if("[object Object]"!==s.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.getPrototypeOf({})},u.typedArray=e=>{return t=d(e),a.includes(t);var t};u.arrayLike=e=>!u.nullOrUndefined(e)&&!u.function_(e)&&(e=>u.safeInteger(e)&&e>=0)(e.length),u.inRange=(e,t)=>{if(u.number(t))return e>=Math.min(0,t)&&e<=Math.max(t,0);if(u.array(t)&&2===t.length)return e>=Math.min(...t)&&e<=Math.max(...t);throw new TypeError("Invalid range: "+JSON.stringify(t))};const f=["innerHTML","ownerDocument","style","attributes","nodeValue"];u.domElement=e=>u.object(e)&&1===e.nodeType&&u.string(e.nodeName)&&!u.plainObject(e)&&f.every(t=>t in e),u.observable=e=>{var t,r,a,n;return!!e&&(e===(null===(r=(t=e)[Symbol.observable])||void 0===r?void 0:r.call(t))||e===(null===(n=(a=e)["@@observable"])||void 0===n?void 0:n.call(a)))},u.nodeStream=e=>u.object(e)&&u.function_(e.pipe)&&!u.observable(e),u.infinite=e=>e===1/0||e===-1/0;const g=e=>t=>u.integer(t)&&Math.abs(t%2)===e;u.evenInteger=g(0),u.oddInteger=g(1),u.emptyArray=e=>u.array(e)&&0===e.length,u.nonEmptyArray=e=>u.array(e)&&e.length>0,u.emptyString=e=>u.string(e)&&0===e.length,u.nonEmptyString=e=>u.string(e)&&e.length>0;u.emptyStringOrWhitespace=e=>u.emptyString(e)||(e=>u.string(e)&&!/\S/.test(e))(e),u.emptyObject=e=>u.object(e)&&!u.map(e)&&!u.set(e)&&0===Object.keys(e).length,u.nonEmptyObject=e=>u.object(e)&&!u.map(e)&&!u.set(e)&&Object.keys(e).length>0,u.emptySet=e=>u.set(e)&&0===e.size,u.nonEmptySet=e=>u.set(e)&&e.size>0,u.emptyMap=e=>u.map(e)&&0===e.size,u.nonEmptyMap=e=>u.map(e)&&e.size>0;const y=(e,t,r)=>{if(!u.function_(t))throw new TypeError("Invalid predicate: "+JSON.stringify(t));if(0===r.length)throw new TypeError("Invalid number of values");return e.call(r,t)};u.any=(e,...t)=>(u.array(e)?e:[e]).some(e=>y(Array.prototype.some,e,t)),u.all=(e,...t)=>y(Array.prototype.every,e,t);const p=(e,t,r)=>{if(!e)throw new TypeError(`Expected value which is \`${t}\`, received value of type \`${u(r)}\`.`)};t.assert={undefined:e=>p(u.undefined(e),"undefined",e),string:e=>p(u.string(e),"string",e),number:e=>p(u.number(e),"number",e),bigint:e=>p(u.bigint(e),"bigint",e),function_:e=>p(u.function_(e),"Function",e),null_:e=>p(u.null_(e),"null",e),class_:e=>p(u.class_(e),"Class",e),boolean:e=>p(u.boolean(e),"boolean",e),symbol:e=>p(u.symbol(e),"symbol",e),numericString:e=>p(u.numericString(e),"string with a number",e),array:(e,t)=>{p(u.array(e),"Array",e),t&&e.forEach(t)},buffer:e=>p(u.buffer(e),"Buffer",e),nullOrUndefined:e=>p(u.nullOrUndefined(e),"null or undefined",e),object:e=>p(u.object(e),"Object",e),iterable:e=>p(u.iterable(e),"Iterable",e),asyncIterable:e=>p(u.asyncIterable(e),"AsyncIterable",e),generator:e=>p(u.generator(e),"Generator",e),asyncGenerator:e=>p(u.asyncGenerator(e),"AsyncGenerator",e),nativePromise:e=>p(u.nativePromise(e),"native Promise",e),promise:e=>p(u.promise(e),"Promise",e),generatorFunction:e=>p(u.generatorFunction(e),"GeneratorFunction",e),asyncGeneratorFunction:e=>p(u.asyncGeneratorFunction(e),"AsyncGeneratorFunction",e),asyncFunction:e=>p(u.asyncFunction(e),"AsyncFunction",e),boundFunction:e=>p(u.boundFunction(e),"Function",e),regExp:e=>p(u.regExp(e),"RegExp",e),date:e=>p(u.date(e),"Date",e),error:e=>p(u.error(e),"Error",e),map:e=>p(u.map(e),"Map",e),set:e=>p(u.set(e),"Set",e),weakMap:e=>p(u.weakMap(e),"WeakMap",e),weakSet:e=>p(u.weakSet(e),"WeakSet",e),int8Array:e=>p(u.int8Array(e),"Int8Array",e),uint8Array:e=>p(u.uint8Array(e),"Uint8Array",e),uint8ClampedArray:e=>p(u.uint8ClampedArray(e),"Uint8ClampedArray",e),int16Array:e=>p(u.int16Array(e),"Int16Array",e),uint16Array:e=>p(u.uint16Array(e),"Uint16Array",e),int32Array:e=>p(u.int32Array(e),"Int32Array",e),uint32Array:e=>p(u.uint32Array(e),"Uint32Array",e),float32Array:e=>p(u.float32Array(e),"Float32Array",e),float64Array:e=>p(u.float64Array(e),"Float64Array",e),bigInt64Array:e=>p(u.bigInt64Array(e),"BigInt64Array",e),bigUint64Array:e=>p(u.bigUint64Array(e),"BigUint64Array",e),arrayBuffer:e=>p(u.arrayBuffer(e),"ArrayBuffer",e),sharedArrayBuffer:e=>p(u.sharedArrayBuffer(e),"SharedArrayBuffer",e),dataView:e=>p(u.dataView(e),"DataView",e),urlInstance:e=>p(u.urlInstance(e),"URL",e),urlString:e=>p(u.urlString(e),"string with a URL",e),truthy:e=>p(u.truthy(e),"truthy",e),falsy:e=>p(u.falsy(e),"falsy",e),nan:e=>p(u.nan(e),"NaN",e),primitive:e=>p(u.primitive(e),"primitive",e),integer:e=>p(u.integer(e),"integer",e),safeInteger:e=>p(u.safeInteger(e),"integer",e),plainObject:e=>p(u.plainObject(e),"plain object",e),typedArray:e=>p(u.typedArray(e),"TypedArray",e),arrayLike:e=>p(u.arrayLike(e),"array-like",e),domElement:e=>p(u.domElement(e),"HTMLElement",e),observable:e=>p(u.observable(e),"Observable",e),nodeStream:e=>p(u.nodeStream(e),"Node.js Stream",e),infinite:e=>p(u.infinite(e),"infinite number",e),emptyArray:e=>p(u.emptyArray(e),"empty array",e),nonEmptyArray:e=>p(u.nonEmptyArray(e),"non-empty array",e),emptyString:e=>p(u.emptyString(e),"empty string",e),nonEmptyString:e=>p(u.nonEmptyString(e),"non-empty string",e),emptyStringOrWhitespace:e=>p(u.emptyStringOrWhitespace(e),"empty string or whitespace",e),emptyObject:e=>p(u.emptyObject(e),"empty object",e),nonEmptyObject:e=>p(u.nonEmptyObject(e),"non-empty object",e),emptySet:e=>p(u.emptySet(e),"empty set",e),nonEmptySet:e=>p(u.nonEmptySet(e),"non-empty set",e),emptyMap:e=>p(u.emptyMap(e),"empty map",e),nonEmptyMap:e=>p(u.nonEmptyMap(e),"non-empty map",e),evenInteger:e=>p(u.evenInteger(e),"even integer",e),oddInteger:e=>p(u.oddInteger(e),"odd integer",e),directInstanceOf:(e,t)=>p(u.directInstanceOf(e,t),"T",e),inRange:(e,t)=>p(u.inRange(e,t),"in range",e),any:(e,...t)=>p(u.any(e,...t),"predicate returns truthy for any value",t),all:(e,...t)=>p(u.all(e,...t),"predicate returns truthy for all values",t)},Object.defineProperties(u,{class:{value:u.class_},function:{value:u.function_},null:{value:u.null_}}),Object.defineProperties(t.assert,{class:{value:t.assert.class_},function:{value:t.assert.function_},null:{value:t.assert.null_}}),t.default=u,e.exports=u,e.exports.default=u,e.exports.assert=t.assert},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isPredicate=t.testSymbol=void 0,t.testSymbol=Symbol("test"),t.isPredicate=e=>Boolean(e[t.testSymbol])},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=(e,t,r=5)=>{const a=[];for(const n of t)if(!e.has(n)&&(a.push(n),a.length===r))return a;return 0===a.length||a}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArgumentError=t.AnyPredicate=t.DataViewPredicate=t.ArrayBufferPredicate=t.TypedArrayPredicate=t.WeakSetPredicate=t.SetPredicate=t.WeakMapPredicate=t.MapPredicate=t.ErrorPredicate=t.DatePredicate=t.ObjectPredicate=t.ArrayPredicate=t.BooleanPredicate=t.NumberPredicate=t.StringPredicate=t.Predicate=void 0;const a=r(10),n=r(11),i=r(0);Object.defineProperty(t,"Predicate",{enumerable:!0,get:function(){return i.Predicate}});const o=r(2),s=r(17),d=r(7),c=r(9),u=(e,t,r)=>{if(!o.isPredicate(t)&&"string"!=typeof t)throw new TypeError(`Expected second argument to be a predicate or a string, got \`${typeof t}\``);if(o.isPredicate(t)){const r=a.default();c.default(e,()=>n.inferLabel(r),t)}else c.default(e,t,r)};Object.defineProperties(u,{isValid:{value:(e,t)=>{try{return u(e,t),!0}catch(e){return!1}}},create:{value:(e,t)=>(r,i)=>{if(o.isPredicate(e)){const t=a.default();c.default(r,null!=i?i:()=>n.inferLabel(t),e)}else c.default(r,null!=i?i:e,t)}}}),t.default=d.default(s.default(u));var l=r(7);Object.defineProperty(t,"StringPredicate",{enumerable:!0,get:function(){return l.StringPredicate}}),Object.defineProperty(t,"NumberPredicate",{enumerable:!0,get:function(){return l.NumberPredicate}}),Object.defineProperty(t,"BooleanPredicate",{enumerable:!0,get:function(){return l.BooleanPredicate}}),Object.defineProperty(t,"ArrayPredicate",{enumerable:!0,get:function(){return l.ArrayPredicate}}),Object.defineProperty(t,"ObjectPredicate",{enumerable:!0,get:function(){return l.ObjectPredicate}}),Object.defineProperty(t,"DatePredicate",{enumerable:!0,get:function(){return l.DatePredicate}}),Object.defineProperty(t,"ErrorPredicate",{enumerable:!0,get:function(){return l.ErrorPredicate}}),Object.defineProperty(t,"MapPredicate",{enumerable:!0,get:function(){return l.MapPredicate}}),Object.defineProperty(t,"WeakMapPredicate",{enumerable:!0,get:function(){return l.WeakMapPredicate}}),Object.defineProperty(t,"SetPredicate",{enumerable:!0,get:function(){return l.SetPredicate}}),Object.defineProperty(t,"WeakSetPredicate",{enumerable:!0,get:function(){return l.WeakSetPredicate}}),Object.defineProperty(t,"TypedArrayPredicate",{enumerable:!0,get:function(){return l.TypedArrayPredicate}}),Object.defineProperty(t,"ArrayBufferPredicate",{enumerable:!0,get:function(){return l.ArrayBufferPredicate}}),Object.defineProperty(t,"DataViewPredicate",{enumerable:!0,get:function(){return l.DataViewPredicate}}),Object.defineProperty(t,"AnyPredicate",{enumerable:!0,get:function(){return l.AnyPredicate}});var f=r(6);Object.defineProperty(t,"ArgumentError",{enumerable:!0,get:function(){return f.ArgumentError}})},function(e,t,r){(function(e){var r="[object Arguments]",a="[object Map]",n="[object Object]",i="[object Set]",o=/^\[object .+?Constructor\]$/,s=/^(?:0|[1-9]\d*)$/,d={};d["[object Float32Array]"]=d["[object Float64Array]"]=d["[object Int8Array]"]=d["[object Int16Array]"]=d["[object Int32Array]"]=d["[object Uint8Array]"]=d["[object Uint8ClampedArray]"]=d["[object Uint16Array]"]=d["[object Uint32Array]"]=!0,d[r]=d["[object Array]"]=d["[object ArrayBuffer]"]=d["[object Boolean]"]=d["[object DataView]"]=d["[object Date]"]=d["[object Error]"]=d["[object Function]"]=d[a]=d["[object Number]"]=d[n]=d["[object RegExp]"]=d[i]=d["[object String]"]=d["[object WeakMap]"]=!1;var c="object"==typeof global&&global&&global.Object===Object&&global,u="object"==typeof self&&self&&self.Object===Object&&self,l=c||u||Function("return this")(),f=t&&!t.nodeType&&t,g=f&&"object"==typeof e&&e&&!e.nodeType&&e,y=g&&g.exports===f,p=y&&c.process,h=function(){try{return p&&p.binding&&p.binding("util")}catch(e){}}(),m=h&&h.isTypedArray;function b(e,t){for(var r=-1,a=null==e?0:e.length;++r<a;)if(t(e[r],r,e))return!0;return!1}function v(e){var t=-1,r=Array(e.size);return e.forEach((function(e,a){r[++t]=[a,e]})),r}function $(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}var P,_,O,E=Array.prototype,x=Function.prototype,A=Object.prototype,j=l["__core-js_shared__"],S=x.toString,w=A.hasOwnProperty,V=(P=/[^.]+$/.exec(j&&j.keys&&j.keys.IE_PROTO||""))?"Symbol(src)_1."+P:"",M=A.toString,k=RegExp("^"+S.call(w).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),z=y?l.Buffer:void 0,N=l.Symbol,L=l.Uint8Array,B=A.propertyIsEnumerable,I=E.splice,T=N?N.toStringTag:void 0,F=Object.getOwnPropertySymbols,U=z?z.isBuffer:void 0,W=(_=Object.keys,O=Object,function(e){return _(O(e))}),D=he(l,"DataView"),J=he(l,"Map"),R=he(l,"Promise"),q=he(l,"Set"),G=he(l,"WeakMap"),C=he(Object,"create"),K=$e(D),H=$e(J),Q=$e(R),X=$e(q),Y=$e(G),Z=N?N.prototype:void 0,ee=Z?Z.valueOf:void 0;function te(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}function re(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}function ae(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}function ne(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new ae;++t<r;)this.add(e[t])}function ie(e){var t=this.__data__=new re(e);this.size=t.size}function oe(e,t){var r=Oe(e),a=!r&&_e(e),n=!r&&!a&&Ee(e),i=!r&&!a&&!n&&we(e),o=r||a||n||i,s=o?function(e,t){for(var r=-1,a=Array(e);++r<e;)a[r]=t(r);return a}(e.length,String):[],d=s.length;for(var c in e)!t&&!w.call(e,c)||o&&("length"==c||n&&("offset"==c||"parent"==c)||i&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||ve(c,d))||s.push(c);return s}function se(e,t){for(var r=e.length;r--;)if(Pe(e[r][0],t))return r;return-1}function de(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":T&&T in Object(e)?function(e){var t=w.call(e,T),r=e[T];try{e[T]=void 0;var a=!0}catch(e){}var n=M.call(e);a&&(t?e[T]=r:delete e[T]);return n}(e):function(e){return M.call(e)}(e)}function ce(e){return Se(e)&&de(e)==r}function ue(e,t,o,s,d){return e===t||(null==e||null==t||!Se(e)&&!Se(t)?e!=e&&t!=t:function(e,t,o,s,d,c){var u=Oe(e),l=Oe(t),f=u?"[object Array]":be(e),g=l?"[object Array]":be(t),y=(f=f==r?n:f)==n,p=(g=g==r?n:g)==n,h=f==g;if(h&&Ee(e)){if(!Ee(t))return!1;u=!0,y=!1}if(h&&!y)return c||(c=new ie),u||we(e)?ge(e,t,o,s,d,c):function(e,t,r,n,o,s,d){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!s(new L(e),new L(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return Pe(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case a:var c=v;case i:var u=1&n;if(c||(c=$),e.size!=t.size&&!u)return!1;var l=d.get(e);if(l)return l==t;n|=2,d.set(e,t);var f=ge(c(e),c(t),n,o,s,d);return d.delete(e),f;case"[object Symbol]":if(ee)return ee.call(e)==ee.call(t)}return!1}(e,t,f,o,s,d,c);if(!(1&o)){var m=y&&w.call(e,"__wrapped__"),b=p&&w.call(t,"__wrapped__");if(m||b){var P=m?e.value():e,_=b?t.value():t;return c||(c=new ie),d(P,_,o,s,c)}}if(!h)return!1;return c||(c=new ie),function(e,t,r,a,n,i){var o=1&r,s=ye(e),d=s.length,c=ye(t).length;if(d!=c&&!o)return!1;var u=d;for(;u--;){var l=s[u];if(!(o?l in t:w.call(t,l)))return!1}var f=i.get(e);if(f&&i.get(t))return f==t;var g=!0;i.set(e,t),i.set(t,e);var y=o;for(;++u<d;){l=s[u];var p=e[l],h=t[l];if(a)var m=o?a(h,p,l,t,e,i):a(p,h,l,e,t,i);if(!(void 0===m?p===h||n(p,h,r,a,i):m)){g=!1;break}y||(y="constructor"==l)}if(g&&!y){var b=e.constructor,v=t.constructor;b==v||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof v&&v instanceof v||(g=!1)}return i.delete(e),i.delete(t),g}(e,t,o,s,d,c)}(e,t,o,s,ue,d))}function le(e){return!(!je(e)||function(e){return!!V&&V in e}(e))&&(xe(e)?k:o).test($e(e))}function fe(e){if(r=(t=e)&&t.constructor,a="function"==typeof r&&r.prototype||A,t!==a)return W(e);var t,r,a,n=[];for(var i in Object(e))w.call(e,i)&&"constructor"!=i&&n.push(i);return n}function ge(e,t,r,a,n,i){var o=1&r,s=e.length,d=t.length;if(s!=d&&!(o&&d>s))return!1;var c=i.get(e);if(c&&i.get(t))return c==t;var u=-1,l=!0,f=2&r?new ne:void 0;for(i.set(e,t),i.set(t,e);++u<s;){var g=e[u],y=t[u];if(a)var p=o?a(y,g,u,t,e,i):a(g,y,u,e,t,i);if(void 0!==p){if(p)continue;l=!1;break}if(f){if(!b(t,(function(e,t){if(o=t,!f.has(o)&&(g===e||n(g,e,r,a,i)))return f.push(t);var o}))){l=!1;break}}else if(g!==y&&!n(g,y,r,a,i)){l=!1;break}}return i.delete(e),i.delete(t),l}function ye(e){return function(e,t,r){var a=t(e);return Oe(e)?a:function(e,t){for(var r=-1,a=t.length,n=e.length;++r<a;)e[n+r]=t[r];return e}(a,r(e))}(e,Ve,me)}function pe(e,t){var r,a,n=e.__data__;return("string"==(a=typeof(r=t))||"number"==a||"symbol"==a||"boolean"==a?"__proto__"!==r:null===r)?n["string"==typeof t?"string":"hash"]:n.map}function he(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return le(r)?r:void 0}te.prototype.clear=function(){this.__data__=C?C(null):{},this.size=0},te.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},te.prototype.get=function(e){var t=this.__data__;if(C){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return w.call(t,e)?t[e]:void 0},te.prototype.has=function(e){var t=this.__data__;return C?void 0!==t[e]:w.call(t,e)},te.prototype.set=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=C&&void 0===t?"__lodash_hash_undefined__":t,this},re.prototype.clear=function(){this.__data__=[],this.size=0},re.prototype.delete=function(e){var t=this.__data__,r=se(t,e);return!(r<0)&&(r==t.length-1?t.pop():I.call(t,r,1),--this.size,!0)},re.prototype.get=function(e){var t=this.__data__,r=se(t,e);return r<0?void 0:t[r][1]},re.prototype.has=function(e){return se(this.__data__,e)>-1},re.prototype.set=function(e,t){var r=this.__data__,a=se(r,e);return a<0?(++this.size,r.push([e,t])):r[a][1]=t,this},ae.prototype.clear=function(){this.size=0,this.__data__={hash:new te,map:new(J||re),string:new te}},ae.prototype.delete=function(e){var t=pe(this,e).delete(e);return this.size-=t?1:0,t},ae.prototype.get=function(e){return pe(this,e).get(e)},ae.prototype.has=function(e){return pe(this,e).has(e)},ae.prototype.set=function(e,t){var r=pe(this,e),a=r.size;return r.set(e,t),this.size+=r.size==a?0:1,this},ne.prototype.add=ne.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},ne.prototype.has=function(e){return this.__data__.has(e)},ie.prototype.clear=function(){this.__data__=new re,this.size=0},ie.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},ie.prototype.get=function(e){return this.__data__.get(e)},ie.prototype.has=function(e){return this.__data__.has(e)},ie.prototype.set=function(e,t){var r=this.__data__;if(r instanceof re){var a=r.__data__;if(!J||a.length<199)return a.push([e,t]),this.size=++r.size,this;r=this.__data__=new ae(a)}return r.set(e,t),this.size=r.size,this};var me=F?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var r=-1,a=null==e?0:e.length,n=0,i=[];++r<a;){var o=e[r];t(o,r,e)&&(i[n++]=o)}return i}(F(e),(function(t){return B.call(e,t)})))}:function(){return[]},be=de;function ve(e,t){return!!(t=null==t?9007199254740991:t)&&("number"==typeof e||s.test(e))&&e>-1&&e%1==0&&e<t}function $e(e){if(null!=e){try{return S.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function Pe(e,t){return e===t||e!=e&&t!=t}(D&&"[object DataView]"!=be(new D(new ArrayBuffer(1)))||J&&be(new J)!=a||R&&"[object Promise]"!=be(R.resolve())||q&&be(new q)!=i||G&&"[object WeakMap]"!=be(new G))&&(be=function(e){var t=de(e),r=t==n?e.constructor:void 0,o=r?$e(r):"";if(o)switch(o){case K:return"[object DataView]";case H:return a;case Q:return"[object Promise]";case X:return i;case Y:return"[object WeakMap]"}return t});var _e=ce(function(){return arguments}())?ce:function(e){return Se(e)&&w.call(e,"callee")&&!B.call(e,"callee")},Oe=Array.isArray;var Ee=U||function(){return!1};function xe(e){if(!je(e))return!1;var t=de(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Ae(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function je(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Se(e){return null!=e&&"object"==typeof e}var we=m?function(e){return function(t){return e(t)}}(m):function(e){return Se(e)&&Ae(e.length)&&!!d[de(e)]};function Ve(e){return null!=(t=e)&&Ae(t.length)&&!xe(t)?oe(e):fe(e);var t}e.exports=function(e,t){return ue(e,t)}}).call(this,r(23)(e))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArgumentError=void 0;class a extends Error{constructor(e,t){super(e),Error.captureStackTrace?Error.captureStackTrace(this,t):this.stack=(new Error).stack,this.name="ArgumentError"}}t.ArgumentError=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyPredicate=t.DataViewPredicate=t.ArrayBufferPredicate=t.TypedArrayPredicate=t.WeakSetPredicate=t.SetPredicate=t.WeakMapPredicate=t.MapPredicate=t.ErrorPredicate=t.DatePredicate=t.ObjectPredicate=t.ArrayPredicate=t.BooleanPredicate=t.NumberPredicate=t.StringPredicate=void 0;const a=r(18);Object.defineProperty(t,"StringPredicate",{enumerable:!0,get:function(){return a.StringPredicate}});const n=r(20);Object.defineProperty(t,"NumberPredicate",{enumerable:!0,get:function(){return n.NumberPredicate}});const i=r(21);Object.defineProperty(t,"BooleanPredicate",{enumerable:!0,get:function(){return i.BooleanPredicate}});const o=r(0),s=r(22);Object.defineProperty(t,"ArrayPredicate",{enumerable:!0,get:function(){return s.ArrayPredicate}});const d=r(24);Object.defineProperty(t,"ObjectPredicate",{enumerable:!0,get:function(){return d.ObjectPredicate}});const c=r(29);Object.defineProperty(t,"DatePredicate",{enumerable:!0,get:function(){return c.DatePredicate}});const u=r(30);Object.defineProperty(t,"ErrorPredicate",{enumerable:!0,get:function(){return u.ErrorPredicate}});const l=r(31);Object.defineProperty(t,"MapPredicate",{enumerable:!0,get:function(){return l.MapPredicate}});const f=r(32);Object.defineProperty(t,"WeakMapPredicate",{enumerable:!0,get:function(){return f.WeakMapPredicate}});const g=r(33);Object.defineProperty(t,"SetPredicate",{enumerable:!0,get:function(){return g.SetPredicate}});const y=r(34);Object.defineProperty(t,"WeakSetPredicate",{enumerable:!0,get:function(){return y.WeakSetPredicate}});const p=r(35);Object.defineProperty(t,"TypedArrayPredicate",{enumerable:!0,get:function(){return p.TypedArrayPredicate}});const h=r(36);Object.defineProperty(t,"ArrayBufferPredicate",{enumerable:!0,get:function(){return h.ArrayBufferPredicate}});const m=r(37);Object.defineProperty(t,"DataViewPredicate",{enumerable:!0,get:function(){return m.DataViewPredicate}});const b=r(38);Object.defineProperty(t,"AnyPredicate",{enumerable:!0,get:function(){return b.AnyPredicate}}),t.default=(e,t)=>(Object.defineProperties(e,{string:{get:()=>new a.StringPredicate(t)},number:{get:()=>new n.NumberPredicate(t)},boolean:{get:()=>new i.BooleanPredicate(t)},undefined:{get:()=>new o.Predicate("undefined",t)},null:{get:()=>new o.Predicate("null",t)},nullOrUndefined:{get:()=>new o.Predicate("nullOrUndefined",t)},nan:{get:()=>new o.Predicate("nan",t)},symbol:{get:()=>new o.Predicate("symbol",t)},array:{get:()=>new s.ArrayPredicate(t)},object:{get:()=>new d.ObjectPredicate(t)},date:{get:()=>new c.DatePredicate(t)},error:{get:()=>new u.ErrorPredicate(t)},map:{get:()=>new l.MapPredicate(t)},weakMap:{get:()=>new f.WeakMapPredicate(t)},set:{get:()=>new g.SetPredicate(t)},weakSet:{get:()=>new y.WeakSetPredicate(t)},function:{get:()=>new o.Predicate("Function",t)},buffer:{get:()=>new o.Predicate("Buffer",t)},regExp:{get:()=>new o.Predicate("RegExp",t)},promise:{get:()=>new o.Predicate("Promise",t)},typedArray:{get:()=>new p.TypedArrayPredicate("TypedArray",t)},int8Array:{get:()=>new p.TypedArrayPredicate("Int8Array",t)},uint8Array:{get:()=>new p.TypedArrayPredicate("Uint8Array",t)},uint8ClampedArray:{get:()=>new p.TypedArrayPredicate("Uint8ClampedArray",t)},int16Array:{get:()=>new p.TypedArrayPredicate("Int16Array",t)},uint16Array:{get:()=>new p.TypedArrayPredicate("Uint16Array",t)},int32Array:{get:()=>new p.TypedArrayPredicate("Int32Array",t)},uint32Array:{get:()=>new p.TypedArrayPredicate("Uint32Array",t)},float32Array:{get:()=>new p.TypedArrayPredicate("Float32Array",t)},float64Array:{get:()=>new p.TypedArrayPredicate("Float64Array",t)},arrayBuffer:{get:()=>new h.ArrayBufferPredicate("ArrayBuffer",t)},sharedArrayBuffer:{get:()=>new h.ArrayBufferPredicate("SharedArrayBuffer",t)},dataView:{get:()=>new m.DataViewPredicate(t)},iterable:{get:()=>new o.Predicate("Iterable",t)},any:{value:(...e)=>new b.AnyPredicate(e,t)}}),e)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(4);t.default=(e,t)=>{try{for(const r of e)a.default(r,t);return!0}catch(e){return e.message}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(2);t.default=function e(t,r,n){n[a.testSymbol](t,e,r)}},function(e,t,r){"use strict";const a=()=>{const e=Error.prepareStackTrace;Error.prepareStackTrace=(e,t)=>t;const t=(new Error).stack.slice(1);return Error.prepareStackTrace=e,t};e.exports=a,e.exports.default=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.inferLabel=void 0;const a=r(12),n=r(13),i=r(14),o=/^.*?\((?<label>.*?)[,)]/;t.inferLabel=e=>{var t;if(!i.default)return;const r=e[1],s=r.getFileName(),d=r.getLineNumber(),c=r.getColumnNumber();if(null===s||null===d||null===c)return;let u=[];try{u=a.readFileSync(s,"utf8").split("\n")}catch(e){return}let l=u[d-1];if(!l)return;l=l.slice(c-1);const f=o.exec(l);if(!(null===(t=null==f?void 0:f.groups)||void 0===t?void 0:t.label))return;const g=f.groups.label;return n.default(g)||n.default(g.split(".").pop())?g:void 0}},function(e,t){e.exports=require("fs")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=/^[a-z$_][$\w]*$/i,n=new Set(["undefined","null","true","false","super","this","Infinity","NaN"]);t.default=e=>e&&!n.has(e)&&a.test(e)},function(e,t,r){"use strict";var a;Object.defineProperty(t,"__esModule",{value:!0}),t.default=Boolean(null===(a=null===process||void 0===process?void 0:process.versions)||void 0===a?void 0:a.node)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.not=void 0;const a=r(16),n=r(0);t.not=e=>{const t=e.addValidator;return e.addValidator=r=>{const{validator:i,message:o,negatedMessage:s}=r,d=a.default();return r.message=(e,t)=>s?s(e,t):o(e,d).replace(/ to /,"$¬ ").replace(d,t),r.validator=e=>!i(e),e[n.validatorSymbol].push(r),e.addValidator=t,e},e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=()=>Math.random().toString(16).slice(2)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(7);t.default=e=>(Object.defineProperties(e,{optional:{get:()=>a.default({},{optional:!0})}}),e)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringPredicate=void 0;const a=r(1),n=r(19),i=r(0);class o extends i.Predicate{constructor(e){super("string",e)}length(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have length \`${e}\`, got \`${t}\``,validator:t=>t.length===e})}minLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a minimum length of \`${e}\`, got \`${t}\``,validator:t=>t.length>=e,negatedMessage:(t,r)=>`Expected ${r} to have a maximum length of \`${e-1}\`, got \`${t}\``})}maxLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a maximum length of \`${e}\`, got \`${t}\``,validator:t=>t.length<=e,negatedMessage:(t,r)=>`Expected ${r} to have a minimum length of \`${e+1}\`, got \`${t}\``})}matches(e){return this.addValidator({message:(t,r)=>`Expected ${r} to match \`${e}\`, got \`${t}\``,validator:t=>e.test(t)})}startsWith(e){return this.addValidator({message:(t,r)=>`Expected ${r} to start with \`${e}\`, got \`${t}\``,validator:t=>t.startsWith(e)})}endsWith(e){return this.addValidator({message:(t,r)=>`Expected ${r} to end with \`${e}\`, got \`${t}\``,validator:t=>t.endsWith(e)})}includes(e){return this.addValidator({message:(t,r)=>`Expected ${r} to include \`${e}\`, got \`${t}\``,validator:t=>t.includes(e)})}oneOf(e){return this.addValidator({message:(t,r)=>{let a=JSON.stringify(e);if(e.length>10){const t=e.length-10;a=JSON.stringify(e.slice(0,10)).replace(/]$/,`,…+${t} more]`)}return`Expected ${r} to be one of \`${a}\`, got \`${t}\``},validator:t=>e.includes(t)})}get empty(){return this.addValidator({message:(e,t)=>`Expected ${t} to be empty, got \`${e}\``,validator:e=>""===e})}get nonEmpty(){return this.addValidator({message:(e,t)=>`Expected ${t} to not be empty`,validator:e=>""!==e})}equals(e){return this.addValidator({message:(t,r)=>`Expected ${r} to be equal to \`${e}\`, got \`${t}\``,validator:t=>t===e})}get alphanumeric(){return this.addValidator({message:(e,t)=>`Expected ${t} to be alphanumeric, got \`${e}\``,validator:e=>/^[a-z\d]+$/i.test(e)})}get alphabetical(){return this.addValidator({message:(e,t)=>`Expected ${t} to be alphabetical, got \`${e}\``,validator:e=>/^[a-z]+$/gi.test(e)})}get numeric(){return this.addValidator({message:(e,t)=>`Expected ${t} to be numeric, got \`${e}\``,validator:e=>/^[+-]?\d+$/i.test(e)})}get date(){return this.addValidator({message:(e,t)=>`Expected ${t} to be a date, got \`${e}\``,validator:n})}get lowercase(){return this.addValidator({message:(e,t)=>`Expected ${t} to be lowercase, got \`${e}\``,validator:e=>""!==e.trim()&&e===e.toLowerCase()})}get uppercase(){return this.addValidator({message:(e,t)=>`Expected ${t} to be uppercase, got \`${e}\``,validator:e=>""!==e.trim()&&e===e.toUpperCase()})}get url(){return this.addValidator({message:(e,t)=>`Expected ${t} to be a URL, got \`${e}\``,validator:a.default.urlString})}}t.StringPredicate=o},function(e,t,r){"use strict";e.exports=function(e){return!isNaN(Date.parse(e))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NumberPredicate=void 0;const a=r(1),n=r(0);class i extends n.Predicate{constructor(e){super("number",e)}inRange(e,t){return this.addValidator({message:(r,a)=>`Expected ${a} to be in range [${e}..${t}], got ${r}`,validator:r=>a.default.inRange(r,[e,t])})}greaterThan(e){return this.addValidator({message:(t,r)=>`Expected ${r} to be greater than ${e}, got ${t}`,validator:t=>t>e})}greaterThanOrEqual(e){return this.addValidator({message:(t,r)=>`Expected ${r} to be greater than or equal to ${e}, got ${t}`,validator:t=>t>=e})}lessThan(e){return this.addValidator({message:(t,r)=>`Expected ${r} to be less than ${e}, got ${t}`,validator:t=>t<e})}lessThanOrEqual(e){return this.addValidator({message:(t,r)=>`Expected ${r} to be less than or equal to ${e}, got ${t}`,validator:t=>t<=e})}equal(e){return this.addValidator({message:(t,r)=>`Expected ${r} to be equal to ${e}, got ${t}`,validator:t=>t===e})}oneOf(e){return this.addValidator({message:(t,r)=>{let a=JSON.stringify(e);if(e.length>10){const t=e.length-10;a=JSON.stringify(e.slice(0,10)).replace(/]$/,`,…+${t} more]`)}return`Expected ${r} to be one of \`${a}\`, got ${t}`},validator:t=>e.includes(t)})}get integer(){return this.addValidator({message:(e,t)=>`Expected ${t} to be an integer, got ${e}`,validator:e=>a.default.integer(e)})}get finite(){return this.addValidator({message:(e,t)=>`Expected ${t} to be finite, got ${e}`,validator:e=>!a.default.infinite(e)})}get infinite(){return this.addValidator({message:(e,t)=>`Expected ${t} to be infinite, got ${e}`,validator:e=>a.default.infinite(e)})}get positive(){return this.addValidator({message:(e,t)=>`Expected ${t} to be positive, got ${e}`,validator:e=>e>0})}get negative(){return this.addValidator({message:(e,t)=>`Expected ${t} to be negative, got ${e}`,validator:e=>e<0})}get integerOrInfinite(){return this.addValidator({message:(e,t)=>`Expected ${t} to be an integer or infinite, got ${e}`,validator:e=>a.default.integer(e)||a.default.infinite(e)})}get uint8(){return this.integer.inRange(0,255)}get uint16(){return this.integer.inRange(0,65535)}get uint32(){return this.integer.inRange(0,4294967295)}get int8(){return this.integer.inRange(-128,127)}get int16(){return this.integer.inRange(-32768,32767)}get int32(){return this.integer.inRange(-2147483648,2147483647)}}t.NumberPredicate=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BooleanPredicate=void 0;const a=r(0);class n extends a.Predicate{constructor(e){super("boolean",e)}get true(){return this.addValidator({message:(e,t)=>`Expected ${t} to be true, got ${e}`,validator:e=>e})}get false(){return this.addValidator({message:(e,t)=>`Expected ${t} to be false, got ${e}`,validator:e=>!e})}}t.BooleanPredicate=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayPredicate=void 0;const a=r(5),n=r(0),i=r(4);class o extends n.Predicate{constructor(e){super("array",e)}length(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have length \`${e}\`, got \`${t.length}\``,validator:t=>t.length===e})}minLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a minimum length of \`${e}\`, got \`${t.length}\``,validator:t=>t.length>=e,negatedMessage:(t,r)=>`Expected ${r} to have a maximum length of \`${e-1}\`, got \`${t.length}\``})}maxLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a maximum length of \`${e}\`, got \`${t.length}\``,validator:t=>t.length<=e,negatedMessage:(t,r)=>`Expected ${r} to have a minimum length of \`${e+1}\`, got \`${t.length}\``})}startsWith(e){return this.addValidator({message:(t,r)=>`Expected ${r} to start with \`${e}\`, got \`${t[0]}\``,validator:t=>t[0]===e})}endsWith(e){return this.addValidator({message:(t,r)=>`Expected ${r} to end with \`${e}\`, got \`${t[t.length-1]}\``,validator:t=>t[t.length-1]===e})}includes(...e){return this.addValidator({message:(t,r)=>`Expected ${r} to include all elements of \`${JSON.stringify(e)}\`, got \`${JSON.stringify(t)}\``,validator:t=>e.every(e=>t.includes(e))})}includesAny(...e){return this.addValidator({message:(t,r)=>`Expected ${r} to include any element of \`${JSON.stringify(e)}\`, got \`${JSON.stringify(t)}\``,validator:t=>e.some(e=>t.includes(e))})}get empty(){return this.addValidator({message:(e,t)=>`Expected ${t} to be empty, got \`${JSON.stringify(e)}\``,validator:e=>0===e.length})}get nonEmpty(){return this.addValidator({message:(e,t)=>`Expected ${t} to not be empty`,validator:e=>e.length>0})}deepEqual(e){return this.addValidator({message:(t,r)=>`Expected ${r} to be deeply equal to \`${JSON.stringify(e)}\`, got \`${JSON.stringify(t)}\``,validator:t=>a(t,e)})}ofType(e){let t;return this.addValidator({message:(e,r)=>`(${r}) ${t}`,validator:r=>{try{for(const t of r)i.default(t,e);return!0}catch(e){return t=e.message,!1}}})}}t.ArrayPredicate=o},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectPredicate=void 0;const a=r(1),n=r(25),i=r(5),o=r(3),s=r(8),d=r(27),c=r(28),u=r(0);class l extends u.Predicate{constructor(e){super("object",e)}get plain(){return this.addValidator({message:(e,t)=>`Expected ${t} to be a plain object`,validator:e=>a.default.plainObject(e)})}get empty(){return this.addValidator({message:(e,t)=>`Expected ${t} to be empty, got \`${JSON.stringify(e)}\``,validator:e=>0===Object.keys(e).length})}get nonEmpty(){return this.addValidator({message:(e,t)=>`Expected ${t} to not be empty`,validator:e=>Object.keys(e).length>0})}valuesOfType(e){return this.addValidator({message:(e,t,r)=>`(${t}) ${r}`,validator:t=>s.default(Object.values(t),e)})}deepValuesOfType(e){return this.addValidator({message:(e,t,r)=>`(${t}) ${r}`,validator:t=>d.default(t,e)})}deepEqual(e){return this.addValidator({message:(t,r)=>`Expected ${r} to be deeply equal to \`${JSON.stringify(e)}\`, got \`${JSON.stringify(t)}\``,validator:t=>i(t,e)})}instanceOf(e){return this.addValidator({message:(t,r)=>{let{name:a}=t.constructor;return a&&"Object"!==a||(a=JSON.stringify(t)),`Expected ${r} \`${a}\` to be of type \`${e.name}\``},validator:t=>t instanceof e})}hasKeys(...e){return this.addValidator({message:(e,t,r)=>`Expected ${t} to have keys \`${JSON.stringify(r)}\``,validator:t=>o.default({has:e=>n.has(t,e)},e)})}hasAnyKeys(...e){return this.addValidator({message:(t,r)=>`Expected ${r} to have any key of \`${JSON.stringify(e)}\``,validator:t=>e.some(e=>n.has(t,e))})}partialShape(e){return this.addValidator({message:(e,t,r)=>`${r.replace("Expected","Expected property")} in ${t}`,validator:t=>c.partial(t,e)})}exactShape(e){return this.addValidator({message:(e,t,r)=>`${r.replace("Expected","Expected property")} in ${t}`,validator:t=>c.exact(t,e)})}}t.ObjectPredicate=l},function(e,t,r){"use strict";const a=r(26),n=["__proto__","prototype","constructor"];function i(e){const t=e.split("."),r=[];for(let e=0;e<t.length;e++){let a=t[e];for(;"\\"===a[a.length-1]&&void 0!==t[e+1];)a=a.slice(0,-1)+".",a+=t[++e];r.push(a)}return r.some(e=>n.includes(e))?[]:r}e.exports={get(e,t,r){if(!a(e)||"string"!=typeof t)return void 0===r?e:r;const n=i(t);if(0!==n.length){for(let t=0;t<n.length;t++){if(!Object.prototype.propertyIsEnumerable.call(e,n[t]))return r;if(null==(e=e[n[t]])){if(t!==n.length-1)return r;break}}return e}},set(e,t,r){if(!a(e)||"string"!=typeof t)return e;const n=e,o=i(t);for(let t=0;t<o.length;t++){const n=o[t];a(e[n])||(e[n]={}),t===o.length-1&&(e[n]=r),e=e[n]}return n},delete(e,t){if(!a(e)||"string"!=typeof t)return!1;const r=i(t);for(let t=0;t<r.length;t++){const n=r[t];if(t===r.length-1)return delete e[n],!0;if(e=e[n],!a(e))return!1}},has(e,t){if(!a(e)||"string"!=typeof t)return!1;const r=i(t);if(0===r.length)return!1;for(let t=0;t<r.length;t++){if(!a(e))return!1;if(!(r[t]in e))return!1;e=e[r[t]]}return!0}}},function(e,t,r){"use strict";e.exports=e=>{const t=typeof e;return null!==e&&("object"===t||"function"===t)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const a=r(1),n=r(4),i=(e,t)=>a.default.plainObject(e)?Object.values(e).every(e=>i(e,t)):(n.default(e,t),!0);t.default=(e,t)=>{try{return i(e,t)}catch(e){return e.message}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.exact=t.partial=void 0;const a=r(1),n=r(9),i=r(2);t.partial=function e(t,r,o){try{for(const s of Object.keys(r)){const d=o?`${o}.${s}`:s;if(i.isPredicate(r[s]))n.default(t[s],d,r[s]);else if(a.default.plainObject(r[s])){const a=e(t[s],r[s],d);if(!0!==a)return a}}return!0}catch(e){return e.message}},t.exact=function e(t,r,o){try{const s=new Set(Object.keys(t));for(const d of Object.keys(r)){s.delete(d);const c=o?`${o}.${d}`:d;if(i.isPredicate(r[d]))n.default(t[d],c,r[d]);else if(a.default.plainObject(r[d])){if(!Object.prototype.hasOwnProperty.call(t,d))return`Expected \`${c}\` to exist`;const a=e(t[d],r[d],c);if(!0!==a)return a}}if(s.size>0){const e=[...s.keys()][0];return`Did not expect property \`${o?`${o}.${e}`:e}\` to exist, got \`${t[e]}\``}return!0}catch(e){return e.message}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DatePredicate=void 0;const a=r(0);class n extends a.Predicate{constructor(e){super("date",e)}before(e){return this.addValidator({message:(t,r)=>`Expected ${r} ${t.toISOString()} to be before ${e.toISOString()}`,validator:t=>t.getTime()<e.getTime()})}after(e){return this.addValidator({message:(t,r)=>`Expected ${r} ${t.toISOString()} to be after ${e.toISOString()}`,validator:t=>t.getTime()>e.getTime()})}}t.DatePredicate=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ErrorPredicate=void 0;const a=r(0);class n extends a.Predicate{constructor(e){super("error",e)}name(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have name \`${e}\`, got \`${t.name}\``,validator:t=>t.name===e})}message(e){return this.addValidator({message:(t,r)=>`Expected ${r} message to be \`${e}\`, got \`${t.message}\``,validator:t=>t.message===e})}messageIncludes(e){return this.addValidator({message:(t,r)=>`Expected ${r} message to include \`${e}\`, got \`${t.message}\``,validator:t=>t.message.includes(e)})}hasKeys(...e){return this.addValidator({message:(t,r)=>`Expected ${r} message to have keys \`${e.join("`, `")}\``,validator:t=>e.every(e=>Object.prototype.hasOwnProperty.call(t,e))})}instanceOf(e){return this.addValidator({message:(t,r)=>`Expected ${r} \`${t.name}\` to be of type \`${e.name}\``,validator:t=>t instanceof e})}get typeError(){return this.instanceOf(TypeError)}get evalError(){return this.instanceOf(EvalError)}get rangeError(){return this.instanceOf(RangeError)}get referenceError(){return this.instanceOf(ReferenceError)}get syntaxError(){return this.instanceOf(SyntaxError)}get uriError(){return this.instanceOf(URIError)}}t.ErrorPredicate=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MapPredicate=void 0;const a=r(5),n=r(3),i=r(8),o=r(0);class s extends o.Predicate{constructor(e){super("Map",e)}size(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have size \`${e}\`, got \`${t.size}\``,validator:t=>t.size===e})}minSize(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a minimum size of \`${e}\`, got \`${t.size}\``,validator:t=>t.size>=e,negatedMessage:(t,r)=>`Expected ${r} to have a maximum size of \`${e-1}\`, got \`${t.size}\``})}maxSize(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a maximum size of \`${e}\`, got \`${t.size}\``,validator:t=>t.size<=e,negatedMessage:(t,r)=>`Expected ${r} to have a minimum size of \`${e+1}\`, got \`${t.size}\``})}hasKeys(...e){return this.addValidator({message:(e,t,r)=>`Expected ${t} to have keys \`${JSON.stringify(r)}\``,validator:t=>n.default(t,e)})}hasAnyKeys(...e){return this.addValidator({message:(t,r)=>`Expected ${r} to have any key of \`${JSON.stringify(e)}\``,validator:t=>e.some(e=>t.has(e))})}hasValues(...e){return this.addValidator({message:(e,t,r)=>`Expected ${t} to have values \`${JSON.stringify(r)}\``,validator:t=>n.default(new Set(t.values()),e)})}hasAnyValues(...e){return this.addValidator({message:(t,r)=>`Expected ${r} to have any value of \`${JSON.stringify(e)}\``,validator:t=>{const r=new Set(t.values());return e.some(e=>r.has(e))}})}keysOfType(e){return this.addValidator({message:(e,t,r)=>`(${t}) ${r}`,validator:t=>i.default(t.keys(),e)})}valuesOfType(e){return this.addValidator({message:(e,t,r)=>`(${t}) ${r}`,validator:t=>i.default(t.values(),e)})}get empty(){return this.addValidator({message:(e,t)=>`Expected ${t} to be empty, got \`${JSON.stringify([...e])}\``,validator:e=>0===e.size})}get nonEmpty(){return this.addValidator({message:(e,t)=>`Expected ${t} to not be empty`,validator:e=>e.size>0})}deepEqual(e){return this.addValidator({message:(t,r)=>`Expected ${r} to be deeply equal to \`${JSON.stringify([...e])}\`, got \`${JSON.stringify([...t])}\``,validator:t=>a(t,e)})}}t.MapPredicate=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WeakMapPredicate=void 0;const a=r(3),n=r(0);class i extends n.Predicate{constructor(e){super("WeakMap",e)}hasKeys(...e){return this.addValidator({message:(e,t,r)=>`Expected ${t} to have keys \`${JSON.stringify(r)}\``,validator:t=>a.default(t,e)})}hasAnyKeys(...e){return this.addValidator({message:(t,r)=>`Expected ${r} to have any key of \`${JSON.stringify(e)}\``,validator:t=>e.some(e=>t.has(e))})}}t.WeakMapPredicate=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SetPredicate=void 0;const a=r(5),n=r(3),i=r(8),o=r(0);class s extends o.Predicate{constructor(e){super("Set",e)}size(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have size \`${e}\`, got \`${t.size}\``,validator:t=>t.size===e})}minSize(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a minimum size of \`${e}\`, got \`${t.size}\``,validator:t=>t.size>=e,negatedMessage:(t,r)=>`Expected ${r} to have a maximum size of \`${e-1}\`, got \`${t.size}\``})}maxSize(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a maximum size of \`${e}\`, got \`${t.size}\``,validator:t=>t.size<=e,negatedMessage:(t,r)=>`Expected ${r} to have a minimum size of \`${e+1}\`, got \`${t.size}\``})}has(...e){return this.addValidator({message:(e,t,r)=>`Expected ${t} to have items \`${JSON.stringify(r)}\``,validator:t=>n.default(t,e)})}hasAny(...e){return this.addValidator({message:(t,r)=>`Expected ${r} to have any item of \`${JSON.stringify(e)}\``,validator:t=>e.some(e=>t.has(e))})}ofType(e){return this.addValidator({message:(e,t,r)=>`(${t}) ${r}`,validator:t=>i.default(t,e)})}get empty(){return this.addValidator({message:(e,t)=>`Expected ${t} to be empty, got \`${JSON.stringify([...e])}\``,validator:e=>0===e.size})}get nonEmpty(){return this.addValidator({message:(e,t)=>`Expected ${t} to not be empty`,validator:e=>e.size>0})}deepEqual(e){return this.addValidator({message:(t,r)=>`Expected ${r} to be deeply equal to \`${JSON.stringify([...e])}\`, got \`${JSON.stringify([...t])}\``,validator:t=>a(t,e)})}}t.SetPredicate=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WeakSetPredicate=void 0;const a=r(3),n=r(0);class i extends n.Predicate{constructor(e){super("WeakSet",e)}has(...e){return this.addValidator({message:(e,t,r)=>`Expected ${t} to have items \`${JSON.stringify(r)}\``,validator:t=>a.default(t,e)})}hasAny(...e){return this.addValidator({message:(t,r)=>`Expected ${r} to have any item of \`${JSON.stringify(e)}\``,validator:t=>e.some(e=>t.has(e))})}}t.WeakSetPredicate=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypedArrayPredicate=void 0;const a=r(0);class n extends a.Predicate{byteLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have byte length of \`${e}\`, got \`${t.byteLength}\``,validator:t=>t.byteLength===e})}minByteLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a minimum byte length of \`${e}\`, got \`${t.byteLength}\``,validator:t=>t.byteLength>=e,negatedMessage:(t,r)=>`Expected ${r} to have a maximum byte length of \`${e-1}\`, got \`${t.byteLength}\``})}maxByteLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a maximum byte length of \`${e}\`, got \`${t.byteLength}\``,validator:t=>t.byteLength<=e,negatedMessage:(t,r)=>`Expected ${r} to have a minimum byte length of \`${e+1}\`, got \`${t.byteLength}\``})}length(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have length \`${e}\`, got \`${t.length}\``,validator:t=>t.length===e})}minLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a minimum length of \`${e}\`, got \`${t.length}\``,validator:t=>t.length>=e,negatedMessage:(t,r)=>`Expected ${r} to have a maximum length of \`${e-1}\`, got \`${t.length}\``})}maxLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a maximum length of \`${e}\`, got \`${t.length}\``,validator:t=>t.length<=e,negatedMessage:(t,r)=>`Expected ${r} to have a minimum length of \`${e+1}\`, got \`${t.length}\``})}}t.TypedArrayPredicate=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayBufferPredicate=void 0;const a=r(0);class n extends a.Predicate{byteLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have byte length of \`${e}\`, got \`${t.byteLength}\``,validator:t=>t.byteLength===e})}minByteLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a minimum byte length of \`${e}\`, got \`${t.byteLength}\``,validator:t=>t.byteLength>=e,negatedMessage:(t,r)=>`Expected ${r} to have a maximum byte length of \`${e-1}\`, got \`${t.byteLength}\``})}maxByteLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a maximum byte length of \`${e}\`, got \`${t.byteLength}\``,validator:t=>t.byteLength<=e,negatedMessage:(t,r)=>`Expected ${r} to have a minimum byte length of \`${e+1}\`, got \`${t.byteLength}\``})}}t.ArrayBufferPredicate=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DataViewPredicate=void 0;const a=r(0);class n extends a.Predicate{constructor(e){super("DataView",e)}byteLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have byte length of \`${e}\`, got \`${t.byteLength}\``,validator:t=>t.byteLength===e})}minByteLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a minimum byte length of \`${e}\`, got \`${t.byteLength}\``,validator:t=>t.byteLength>=e,negatedMessage:(t,r)=>`Expected ${r} to have a maximum byte length of \`${e-1}\`, got \`${t.byteLength}\``})}maxByteLength(e){return this.addValidator({message:(t,r)=>`Expected ${r} to have a maximum byte length of \`${e}\`, got \`${t.byteLength}\``,validator:t=>t.byteLength<=e,negatedMessage:(t,r)=>`Expected ${r} to have a minimum byte length of \`${e+1}\`, got \`${t.byteLength}\``})}}t.DataViewPredicate=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnyPredicate=void 0;const a=r(6),n=r(2);class i{constructor(e,t={}){this.predicates=e,this.options=t}[n.testSymbol](e,t,r){const n=["Any predicate failed with the following errors:"];for(const a of this.predicates)try{return void t(e,r,a)}catch(t){if(void 0===e&&!0===this.options.optional)return;n.push("- "+t.message)}throw new a.ArgumentError(n.join("\n"),t)}}t.AnyPredicate=i}]);const __export__=module.exports;module.exports=__export__.default,Object.assign(module.exports,__export__); | ||
//# sourceMappingURL=index.js.map |
@@ -5,3 +5,3 @@ @sindresorhus/is | ||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com) | ||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com) | ||
@@ -8,0 +8,0 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: |
@@ -160,13 +160,3 @@ /// <reference types="node" /> | ||
*/ | ||
any<T1>(p1: BasePredicate<T1>): AnyPredicate<T1>; | ||
any<T1, T2>(p1: BasePredicate<T1>, p2: BasePredicate<T2>): AnyPredicate<T1 | T2>; | ||
any<T1, T2, T3>(p1: BasePredicate<T1>, p2: BasePredicate<T2>, p3: BasePredicate<T3>): AnyPredicate<T1 | T2 | T3>; | ||
any<T1, T2, T3, T4>(p1: BasePredicate<T1>, p2: BasePredicate<T2>, p3: BasePredicate<T3>, p4: BasePredicate<T4>): AnyPredicate<T1 | T2 | T3 | T4>; | ||
any<T1, T2, T3, T4, T5>(p1: BasePredicate<T1>, p2: BasePredicate<T2>, p3: BasePredicate<T3>, p4: BasePredicate<T4>, p5: BasePredicate<T5>): AnyPredicate<T1 | T2 | T3 | T4 | T5>; | ||
any<T1, T2, T3, T4, T5, T6>(p1: BasePredicate<T1>, p2: BasePredicate<T2>, p3: BasePredicate<T3>, p4: BasePredicate<T4>, p5: BasePredicate<T5>, p6: BasePredicate<T6>): AnyPredicate<T1 | T2 | T3 | T4 | T5 | T6>; | ||
any<T1, T2, T3, T4, T5, T6, T7>(p1: BasePredicate<T1>, p2: BasePredicate<T2>, p3: BasePredicate<T3>, p4: BasePredicate<T4>, p5: BasePredicate<T5>, p6: BasePredicate<T6>, p7: BasePredicate<T7>): AnyPredicate<T1 | T2 | T3 | T4 | T5 | T6 | T7>; | ||
any<T1, T2, T3, T4, T5, T6, T7, T8>(p1: BasePredicate<T1>, p2: BasePredicate<T2>, p3: BasePredicate<T3>, p4: BasePredicate<T4>, p5: BasePredicate<T5>, p6: BasePredicate<T6>, p7: BasePredicate<T7>, p8: BasePredicate<T8>): AnyPredicate<T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8>; | ||
any<T1, T2, T3, T4, T5, T6, T7, T8, T9>(p1: BasePredicate<T1>, p2: BasePredicate<T2>, p3: BasePredicate<T3>, p4: BasePredicate<T4>, p5: BasePredicate<T5>, p6: BasePredicate<T6>, p7: BasePredicate<T7>, p8: BasePredicate<T8>, p9: BasePredicate<T9>): AnyPredicate<T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 | T9>; | ||
any<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(p1: BasePredicate<T1>, p2: BasePredicate<T2>, p3: BasePredicate<T3>, p4: BasePredicate<T4>, p5: BasePredicate<T5>, p6: BasePredicate<T6>, p7: BasePredicate<T7>, p8: BasePredicate<T8>, p9: BasePredicate<T9>, p10: BasePredicate<T10>): AnyPredicate<T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 | T9 | T10>; | ||
any(...predicate: BasePredicate[]): AnyPredicate; | ||
any: (<T1>(p1: BasePredicate<T1>) => AnyPredicate<T1>) & (<T1, T2>(p1: BasePredicate<T1>, p2: BasePredicate<T2>) => AnyPredicate<T1 | T2>) & (<T1, T2, T3>(p1: BasePredicate<T1>, p2: BasePredicate<T2>, p3: BasePredicate<T3>) => AnyPredicate<T1 | T2 | T3>) & (<T1, T2, T3, T4>(p1: BasePredicate<T1>, p2: BasePredicate<T2>, p3: BasePredicate<T3>, p4: BasePredicate<T4>) => AnyPredicate<T1 | T2 | T3 | T4>) & (<T1, T2, T3, T4, T5>(p1: BasePredicate<T1>, p2: BasePredicate<T2>, p3: BasePredicate<T3>, p4: BasePredicate<T4>, p5: BasePredicate<T5>) => AnyPredicate<T1 | T2 | T3 | T4 | T5>) & (<T1, T2, T3, T4, T5, T6>(p1: BasePredicate<T1>, p2: BasePredicate<T2>, p3: BasePredicate<T3>, p4: BasePredicate<T4>, p5: BasePredicate<T5>, p6: BasePredicate<T6>) => AnyPredicate<T1 | T2 | T3 | T4 | T5 | T6>) & (<T1, T2, T3, T4, T5, T6, T7>(p1: BasePredicate<T1>, p2: BasePredicate<T2>, p3: BasePredicate<T3>, p4: BasePredicate<T4>, p5: BasePredicate<T5>, p6: BasePredicate<T6>, p7: BasePredicate<T7>) => AnyPredicate<T1 | T2 | T3 | T4 | T5 | T6 | T7>) & (<T1, T2, T3, T4, T5, T6, T7, T8>(p1: BasePredicate<T1>, p2: BasePredicate<T2>, p3: BasePredicate<T3>, p4: BasePredicate<T4>, p5: BasePredicate<T5>, p6: BasePredicate<T6>, p7: BasePredicate<T7>, p8: BasePredicate<T8>) => AnyPredicate<T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8>) & (<T1, T2, T3, T4, T5, T6, T7, T8, T9>(p1: BasePredicate<T1>, p2: BasePredicate<T2>, p3: BasePredicate<T3>, p4: BasePredicate<T4>, p5: BasePredicate<T5>, p6: BasePredicate<T6>, p7: BasePredicate<T7>, p8: BasePredicate<T8>, p9: BasePredicate<T9>) => AnyPredicate<T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 | T9>) & (<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(p1: BasePredicate<T1>, p2: BasePredicate<T2>, p3: BasePredicate<T3>, p4: BasePredicate<T4>, p5: BasePredicate<T5>, p6: BasePredicate<T6>, p7: BasePredicate<T7>, p8: BasePredicate<T8>, p9: BasePredicate<T9>, p10: BasePredicate<T10>) => AnyPredicate<T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 | T9 | T10>) & ((...predicate: BasePredicate[]) => AnyPredicate); | ||
} | ||
@@ -173,0 +163,0 @@ declare const _default: <T>(object: T, options?: PredicateOptions | undefined) => T & Predicates; |
import { Shape } from '../utils/match-shape'; | ||
import { Predicate, PredicateOptions } from './predicate'; | ||
import { BasePredicate } from './base-predicate'; | ||
export { Shape }; | ||
@@ -26,3 +27,3 @@ export declare class ObjectPredicate extends Predicate<object> { | ||
*/ | ||
valuesOfType<T>(predicate: Predicate<T>): this; | ||
valuesOfType<T>(predicate: BasePredicate<T>): this; | ||
/** | ||
@@ -29,0 +30,0 @@ Test all the values in the object deeply to match the provided predicate. |
import { BasePredicate, testSymbol } from './base-predicate'; | ||
import { Main } from '..'; | ||
/** | ||
Function executed when the provided validation fails. | ||
@param value - The tested value. | ||
@param label - Label of the tested value. | ||
@returns {string} - The actual error message. | ||
*/ | ||
export declare type ValidatorMessageBuilder<T> = (value: T, label?: string) => string; | ||
/** | ||
@hidden | ||
@@ -12,4 +21,3 @@ */ | ||
When absent, the return value of `message()` is used and 'not' is inserted after the first 'to', | ||
e.g. `Expected 'smth' to be empty` -> `Expected 'smth' to not be empty`. | ||
When absent, the return value of `message()` is used and 'not' is inserted after the first 'to', e.g. `Expected 'smth' to be empty` -> `Expected 'smth' to not be empty`. | ||
*/ | ||
@@ -77,2 +85,20 @@ negatedMessage?(value: T, label: string): string; | ||
/** | ||
Provide a new error message to be thrown when the validation fails. | ||
@param newMessage - Either a string containing the new message or a function returning the new message. | ||
@example | ||
``` | ||
ow('🌈', 'unicorn', ow.string.equals('🦄').message('Expected unicorn, got rainbow')); | ||
//=> ArgumentError: Expected unicorn, got rainbow | ||
``` | ||
@example | ||
``` | ||
ow('🌈', ow.string.minLength(5).message((value, label) => `Expected ${label}, to have a minimum length of 5, got \`${value}\``)); | ||
//=> ArgumentError: Expected string, to be have a minimum length of 5, got `🌈` | ||
``` | ||
*/ | ||
message(newMessage: string | ValidatorMessageBuilder<T>): this; | ||
/** | ||
Register a new validator. | ||
@@ -79,0 +105,0 @@ |
@@ -5,3 +5,3 @@ /** | ||
export interface CollectionLike<T> { | ||
has(item: T): boolean; | ||
has: (item: T) => boolean; | ||
} | ||
@@ -8,0 +8,0 @@ declare const _default: <T>(source: CollectionLike<T>, items: readonly T[], maxValues?: number) => true | T[]; |
import { Predicate } from '../predicates/predicate'; | ||
declare const _default: (object: unknown, predicate: Predicate<unknown>) => string | boolean; | ||
declare const _default: (object: unknown, predicate: Predicate) => boolean | string; | ||
/** | ||
@@ -4,0 +4,0 @@ Test all the values in the object against a provided predicate. |
@@ -1,3 +0,3 @@ | ||
import { Predicate } from '../predicates/predicate'; | ||
declare const _default: <T>(source: IterableIterator<T> | Set<T> | T[], predicate: Predicate<T>) => string | boolean; | ||
import { BasePredicate } from '../predicates/base-predicate'; | ||
declare const _default: <T>(source: IterableIterator<T> | Set<T> | T[], predicate: BasePredicate<T>) => boolean | string; | ||
/** | ||
@@ -4,0 +4,0 @@ Test all the values in the collection against a provided predicate. |
{ | ||
"name": "ow", | ||
"version": "0.17.0", | ||
"version": "0.18.0", | ||
"description": "Function argument validation for humans", | ||
@@ -51,12 +51,12 @@ "license": "MIT", | ||
"dependencies": { | ||
"type-fest": "^0.11.0" | ||
"type-fest": "^0.17.0" | ||
}, | ||
"devDependencies": { | ||
"@sindresorhus/is": "^2.1.0", | ||
"@sindresorhus/is": "^3.1.2", | ||
"@sindresorhus/tsconfig": "^0.7.0", | ||
"@types/lodash.isequal": "^4.5.2", | ||
"@types/node": "^13.7.4", | ||
"@types/node": "^14.11.2", | ||
"@types/vali-date": "^1.0.0", | ||
"@typescript-eslint/eslint-plugin": "^2.20.0", | ||
"@typescript-eslint/parser": "^2.20.0", | ||
"@typescript-eslint/eslint-plugin": "^4.3.0", | ||
"@typescript-eslint/parser": "^4.3.0", | ||
"add-asset-webpack-plugin": "^1.0.0", | ||
@@ -70,12 +70,12 @@ "add-module-exports-webpack-plugin": "^1.0.0", | ||
"dot-prop": "^5.2.0", | ||
"eslint-config-xo-typescript": "^0.26.0", | ||
"eslint-config-xo-typescript": "^0.33.0", | ||
"license-webpack-plugin": "^2.0.2", | ||
"lodash.isequal": "^4.5.0", | ||
"nyc": "^15.0.0", | ||
"typedoc": "^0.16.10", | ||
"typescript": "~3.8.2", | ||
"typedoc": "^0.19.2", | ||
"typescript": "~4.0.3", | ||
"vali-date": "^1.0.0", | ||
"webpack": "^4.33.0", | ||
"webpack-cli": "^3.3.10", | ||
"xo": "^0.26.1" | ||
"xo": "^0.33.1" | ||
}, | ||
@@ -99,4 +99,2 @@ "browser": { | ||
"no-useless-return": "off", | ||
"@typescript-eslint/generic-type-naming": "off", | ||
"@typescript-eslint/member-naming": "off", | ||
"ava/no-ignored-test-files": "off", | ||
@@ -107,3 +105,5 @@ "@typescript-eslint/explicit-function-return-type": "off", | ||
"@typescript-eslint/no-empty-function": "off", | ||
"@typescript-eslint/restrict-template-expressions": "off" | ||
"@typescript-eslint/restrict-template-expressions": "off", | ||
"@typescript-eslint/no-unused-vars": "off", | ||
"import/no-anonymous-default-export": "off" | ||
} | ||
@@ -110,0 +110,0 @@ }, |
@@ -70,2 +70,4 @@ <p align="center"> | ||
Ow does not currently include TypeScript type guards, but we do [plan to include type assertions](https://github.com/sindresorhus/ow/issues/159). | ||
### ow(value, predicate) | ||
@@ -238,2 +240,38 @@ | ||
#### message(string | fn) | ||
Provide a custom message: | ||
```ts | ||
ow('🌈', 'unicorn', ow.string.equals('🦄').message('Expected unicorn, got rainbow')); | ||
//=> ArgumentError: Expected unicorn, got rainbow | ||
``` | ||
You can also pass in a function which receives the value as the first parameter and the label as the second parameter and is expected to return the message. | ||
```ts | ||
ow('🌈', ow.string.minLength(5).message((value, label) => `Expected ${label}, to have a minimum length of 5, got \`${value}\``)); | ||
//=> ArgumentError: Expected string, to be have a minimum length of 5, got `🌈` | ||
``` | ||
It's also possible to add a separate message per validation: | ||
```ts | ||
ow( | ||
'1234', | ||
ow.string | ||
.minLength(5).message((value, label) => `Expected ${label}, to be have a minimum length of 5, got \`${value}\``) | ||
.url.message('This is no url') | ||
); | ||
//=> ArgumentError: Expected string, to be have a minimum length of 5, got `1234` | ||
ow( | ||
'12345', | ||
ow.string | ||
.minLength(5).message((value, label) => `Expected ${label}, to be have a minimum length of 5, got \`${value}\``) | ||
.url.message('This is no url') | ||
); | ||
//=> ArgumentError: This is no url | ||
``` | ||
This can be useful for creating your own reusable validators which can be extracted to a separate npm package. | ||
@@ -250,2 +288,1 @@ | ||
- [ngx-ow](https://github.com/SamVerschueren/ngx-ow) - Angular form validation on steroids | ||
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
328249
1304
286
+ Addedtype-fest@0.17.0(transitive)
- Removedtype-fest@0.11.0(transitive)
Updatedtype-fest@^0.17.0