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