UNPKG

@freik/typechk

Version:

Core set of TS/JS type checking helpers

2 lines (1 loc) 9.62 kB
var D=Symbol.for("freik.typetag");function U(z){return z===void 0}function q(z){return!U(z)}function Xz(z){return z===null}function Zz(z){return z===void 0||z===null}function _z(z){return!Zz(z)}function $z(z,L,Q){return L(z)||Q(z)}function C(z,L){return(Q)=>$z(Q,z,L)}function b(z,L,Q){return L(z)&&Q(z)}function WL(z,L){return(Q)=>b(Q,z,L)}function E(z){return b(z,Ez,_z)}function Ez(z){return typeof z==="object"}function G(z){return Array.isArray(z)}function Jz(z){return Array.isArray(z)&&z.length===1}function m(z){return Array.isArray(z)&&z.length===2}function Yz(z){return Array.isArray(z)&&z.length===3}function T(z,L){return(Q)=>z(Q)?Q:L}function _(z){return typeof z==="string"}function wz(z,L=""){return T(_,L)(z)}function Gz(z,L=""){if(_(z))return z;if(B(z)||O(z)||S(z)||F(z))try{let Q=""+z;if(_(Q))return Q}catch{}if(Y(z,"toString",H))try{let Q=z.toString();if(_(Q)&&Q!=="[object Object]")return Q}catch{}return L}function B(z){return typeof z==="number"&&!isNaN(z-0)}function XL(z,L){return T(B,L)(z)}var Hz=C(_,B);function ZL(z,L){return T(Hz,L)(z)}function S(z){return typeof z==="boolean"}function O(z){return z instanceof Date}function F(z){return typeof z==="bigint"}function H(z){return typeof z==="function"}function o(z){return z instanceof RegExp}function v(z){return z instanceof Map}function g(z){return z instanceof Set}function M(z,L){if(!G(z))return!1;for(let Q of z)if(!L(Q))return!1;return!0}function _L(z){return(L)=>M(L,z)}function u(z,L){return Jz(z)&&L(z[0])}function $L(z){return(L)=>u(L,z)}function f(z,L,Q){return m(z)&&L(z[0])&&Q(z[1])}function EL(z,L){return(Q)=>f(Q,z,L)}function h(z,L,Q,W){return Yz(z)&&L(z[0])&&Q(z[1])&&W(z[2])}function JL(z,L,Q){return(W)=>h(W,z,L,Q)}function YL(z,L,Q,W){if(q(W))return h(z,L,Q,W);if(q(Q))return f(z,L,Q);return u(z,L)}function wL(z,L,Q){if(q(Q))return(W)=>h(W,z,L,Q);if(q(L))return(W)=>f(W,z,L);return(W)=>u(W,z)}function GL(z){return M(z,_)}function HL(z,L){if(!G(z))return G(L)?L:[];if(G(L))return M(z,_)?z:L;else return L===null||L===void 0?z.filter((Q)=>_(Q)):z.map((Q)=>wz(Q,L))}function IL(z,L){if(!G(z))return G(L)?L:[];let Q="$$HIGHLY@@UNLIKELY!!",W=z.map((X)=>Gz(X,Q));if(G(L))if(W.indexOf(Q)>=0)return L;else return W;return Xz(L)||U(L)?W.filter((X)=>X!==Q):W.map((X)=>X===Q?L:X)}function l(z,L,Q){if(!v(z))return!1;for(let[W,X]of z){if(!L(W))return!1;if(!Q(X))return!1}return!0}function y(z,L){return(Q)=>l(Q,z,L)}function DL(z){return l(z,_,_)}function i(z,L){if(!g(z))return!1;for(let Q of z)if(!L(Q))return!1;return!0}function ML(z){return(L)=>i(L,z)}function BL(z){return i(z,_)}function p(z,L){if(!E(z))return!1;for(let Q of[...Object.keys(z),...Object.getOwnPropertySymbols(z)])if(!Y(z,Q,L))return!1;return!0}function AL(z){return(L)=>p(L,z)}function CL(z){return p(z,_)&&Object.getOwnPropertySymbols(z).length===0}function Iz(z){return Z(z,"then")&&Z(z,"catch")&&Z(z,"finally")&&Symbol.species in z.constructor}function PL(z){return Iz(z)}function P(z){return typeof z==="symbol"}function Z(z,L){return E(z)&&L in z}function qL(z){return(L)=>Z(L,z)}function Dz(z,L,Q){return Z(z,L)&&Q(z[L])}function Mz(z,L){return(Q)=>Y(Q,z,L)}var Y=Dz,Bz=Mz;function K(z,L){return Y(z,L,_)}function UL(z){return Bz(z,_)}function e(z){return Z(z,Symbol.iterator)}function KL(z){return Z(z,Symbol.iterator)}function A(z){return z===null||_(z)||B(z)||S(z)||M(z,A)||E(z)&&M(Object.keys(z),C(_,B))&&p(z,A)}function Az(z,L=null){if(z===null||_(z)||B(z)||S(z))return z;if(G(z))return z.filter((Q)=>A(Q));if(E(z)){let Q={};return Object.keys(z).forEach((W)=>{if(_(W)&&Z(z,W))Q[W]=Az(z[W])}),Q}return L}function Cz(z,L){return Z(z,D)&&z[D]===L}function RL(z){return(L)=>Cz(L,z)}function R(z,L,Q,W){if(!E(L))return!1;let X=Object.keys(Q).length,J=Object.keys(L),w=J.length;for(let I of J){if(!Z(L,I))continue;let x=L[I];if(U(x)||L[I]===null){delete L[I],w--;continue}if(Y(W,I,H)){let N=W[I];if(!N(x))return!1;w--}else if(Y(Q,I,H)){let N=Q[I];if(!N(x))return!1;X--,w--}}return X===0&&(w===0||!z)}function VL(z,L,Q={}){return R(!0,z,L,Q)}function xL(z,L,Q={}){return R(!1,z,L,Q)}function zz(z,L={}){return(Q)=>R(!1,Q,z,L)}function NL(z,L={}){return(Q)=>R(!0,Q,z,L)}function Pz(z,L){if(!E(z))return!1;let Q=Object.keys(z),W=Q.length;for(let X of Q){if(!Z(z,X))continue;let J=z[X];if(U(J)||z[X]===null){delete z[X],W--;continue}if(Y(L,X,H)){let w=L[X];if(!w(J))return!1;W--}}return W===0}function mL(z){return(L)=>Pz(L,z)}function qz(z,L){if(!E(z))return!1;let Q=Object.keys(z),W=Q.length;for(let X of Q){if(!Z(z,X))continue;if(!L(X))return!1;W--}return W===0}function TL(z){return(L)=>qz(L,z)}function Uz(z,L,Q){if(!E(z))return!1;let W=Object.keys(z),X=W.length;for(let J of W){if(!Z(z,J))continue;let w=z[J];if(!L(J)||!Q(w))return!1;X--}return X===0}function SL(z,L){return(Q)=>Uz(Q,z,L)}var c=new Function("try {return this===global;}catch(e){ return false;}"),n=new Function("try {return this===window;}catch(e){ return false;}");function V(){return typeof globalThis!=="undefined"}function Kz(z){return K(z,"@dataType")&&Y(z,"@dataValue",A)}function Rz(z,L){return{"@dataType":z,"@dataValue":L}}function Vz(z){return[z["@dataType"],z["@dataValue"]]}var k=Symbol.for("freik.Set"),r=Symbol.for("freik.Map"),t=Symbol.for("freik.Symbol"),s=Symbol.for("freik.RegExp"),a=Symbol.for("freik.Date"),j=Symbol.for("freik.BigInt");function xz(z){return[...z.entries()]}function Nz(z){return M(z,m)?new Map(z):void 0}function mz(z){return[...z]}function Tz(z){return G(z)?new Set(z):void 0}function Sz(z){let L=Symbol.keyFor(z);if(L===void 0)throw new Error("Unable to get a key for a symbol for pickling");return L}function Oz(z){return _(z)?Symbol.for(z):void 0}function Fz(z){return{source:z.source,flags:z.flags}}function vz(z){if(K(z,"source")&&K(z,"flags"))return new RegExp(z.source,z.flags)}function gz(z){return z.toJSON()}function uz(z){try{return _(z)?new Date(z):void 0}catch{return}}function fz(z){return z.toString()}function hz(z){try{return _(z)?BigInt(z):void 0}catch{return}}var yz=[[v,r],[g,k],[P,t],[o,s],[O,a],[F,j]],pz=new Map([[r,xz],[k,mz],[t,Sz],[s,Fz],[a,gz],[j,fz]]),cz=new Map([[r,Nz],[k,Tz],[t,Oz],[s,vz],[a,uz],[j,hz]]),nz;((X)=>{X[X.Success=0]="Success";X[X.Already=1]="Already";X[X.Fail=2]="Fail";X[X.DetectionFailure=3]="DetectionFailure"})(nz||={});var $=D;function d(z){if(!Z(z,$))return z[$]={to:pz,from:cz},0;if(!Y(z,$,zz({to:y(C(P,_),H),from:y(C(P,_),H)})))return 2;return 1}function dz(){if(V())return d(globalThis);if(n())return d(window);if(c())return d(global);return 3}switch(dz()){case 2:throw Error(`Invalid <global>[${String($)}] object`);case 3:throw Error("Unable to determine environment for pickling");default:break}function Qz(){if(V()&&E(globalThis)&&Z(globalThis,$)&&Z(globalThis[$],"to"))return globalThis[$].to;else if(c()&&E(global)&&Z(global,$)&&Z(global[$],"to"))return global[$].to;else if(n()&&E(window)&&Z(window,$)&&Z(window[$],"to"))return window[$].to;throw Error("Pickling not registered!")}function Lz(z){return Qz().get(z)}function kz(z,L){Qz().set(z,L)}function Wz(){if(V()&&E(globalThis)&&Z(globalThis,$)&&Z(globalThis[$],"from"))return globalThis[$].from;else if(E(process)&&!Z(process,"browser")&&Z(global,$)&&Z(global[$],"from"))return global[$].from;else if(!E(process)&&!Z(process,"browser")&&Z(window,$)&&Z(window[$],"from"))return window[$].from;throw Error("Unpickling not registered!")}function rz(z){return Wz().get(z)}function tz(z,L){Wz().set(z,L)}function sz(z){if(Y(z,D,P)){let L=z[D],Q=Lz(L);if(Q)return[L,Q];else if(Y(z,"toJSON",H))return[L,(W)=>Y(W,"toJSON",H)?W.toJSON():"ERROR"]}for(let[L,Q]of yz)if(L(z)){let W=Lz(Q);if(W)return[Q,W]}}function az(z){return rz(Symbol.for(z))}function jz(z,L){let Q=this[z],W=sz(Q);if(W){let[X,J]=W,w=Symbol.keyFor(X);if(!w)return L;return Rz(w,J(Q))}else if(e(Q))return[...Q];return L}function bz(z,L){if(Kz(L)){let[Q,W]=Vz(L),X=az(Q);if(X){let J=X(W);if(J!==void 0)return J}}return L}function yL(z){return JSON.stringify(z,jz)}function oz(z){return JSON.parse(z,bz)}function lz(z){return oz(z)}function pL(z,L){let Q=lz(z);return L(Q)?Q:void 0}function cL(z,L,Q){if(Q)kz(z,Q);tz(z,L)}export{Gz as toString,IL as toArrayOfString,dz as registerPickling,U as isUndefined,YL as isTupleOf,P as isSymbol,_ as isString,A as isSimpleObject,BL as isSetOfString,i as isSetOf,g as isSet,o as isRegex,Uz as isRecordOf,qz as isRecord,PL as isPromiseOf,Iz as isPromise,Pz as isPartialOf,$z as isOneOf,xL as isObjectOfType,CL as isObjectOfString,VL as isObjectOfExactType,p as isObjectOf,E as isObjectNonNull,Ez as isObject,Hz as isNumberOrString,B as isNumber,Xz as isNull,_z as isNonNullable,c as isNode,DL as isMapOfStrings,l as isMapOf,v as isMap,KL as isIterableOf,e as isIterable,H as isFunction,Zz as isEmpty,q as isDefined,O as isDate,Cz as isCustomType,n as isBrowser,b as isBothOf,S as isBoolean,F as isBigInt,GL as isArrayOfString,M as isArrayOf,G as isArray,h as is3TupleOf,Yz as is3Tuple,f as is2TupleOf,m as is2Tuple,u as is1TupleOf,Jz as is1Tuple,K as hasStrField,V as hasGlobalThis,Y as hasFieldType,Dz as hasFieldOf,Z as hasField,wL as chkTupleOf,UL as chkStrField,ML as chkSetOf,SL as chkRecordOf,TL as chkRecord,mL as chkPartialOf,C as chkOneOf,zz as chkObjectOfType,NL as chkObjectOfExactType,AL as chkObjectOf,y as chkMapOf,Bz as chkFieldType,Mz as chkFieldOf,qL as chkField,RL as chkCustomType,WL as chkBothOf,_L as chkArrayOf,JL as chk3TupleOf,EL as chk2TupleOf,$L as chk1TupleOf,wz as asString,Az as asSimpleObject,ZL as asNumberOrString,XL as asNumber,HL as asArrayOfString,T as as,lz as UnsafelyUnpickle,oz as Unpickle,pL as SafelyUnpickle,nz as RegistrationResult,cL as RegisterForPickling,yL as Pickle,D as FreikTypeTag};