UNPKG

@freik/typechk

Version:

Core set of TS/JS type checking helpers

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