UNPKG

@tool-belt/type-predicates

Version:

A comprehensive collection of performant type guards and assertions with excellent TypeScript support

695 lines (694 loc) 15.8 kB
const o = (r) => Object.prototype.toString.call(r); function t(r, e) { return e ? (n) => r(n, e) : (n) => r(n); } function u(...r) { return function(e) { for (const n of r) if (n(e)) return !0; return !1; }; } const s = t( (r) => typeof r == "object" && r !== null ), m = t( (r) => s(r) && (o(r) === "[object ArrayBuffer]" || r instanceof ArrayBuffer) ), p = t( (r) => s(r) && (o(r) === "[object SharedArrayBuffer]" || r instanceof SharedArrayBuffer) ), l = u( m, p ); function lr(r, e) { if (!l(r)) throw new TypeError(e?.message); } const S = t( (r) => typeof r == "object" && r !== null && Object.prototype.toString.call(r) === "[object Arguments]" ); function Sr(r, e) { if (!S(r)) throw new TypeError(e?.message); } function dr(r, e) { if (!Array.isArray(r)) throw new TypeError(e?.message); if (e?.valueValidator && !r.every(e.valueValidator)) throw new TypeError(e.message); } function Or(r, e) { if (!m(r)) throw new TypeError(e?.message); } const i = t( (r) => r instanceof Object.getPrototypeOf(Int8Array) || r instanceof Object.getPrototypeOf(Uint8Array) ), d = (r) => t( (e) => i(e) && e[Symbol.toStringTag] === "Int8Array" )(r), O = (r) => t( (e) => i(e) && e[Symbol.toStringTag] === "Uint8Array" )(r), B = (r) => t( (e) => i(e) && e[Symbol.toStringTag] === "Uint8ClampedArray" )(r), N = (r) => t( (e) => i(e) && e[Symbol.toStringTag] === "Int16Array" )(r), V = (r) => t( (e) => i(e) && e[Symbol.toStringTag] === "Uint16Array" )(r), k = (r) => t( (e) => i(e) && e[Symbol.toStringTag] === "Int32Array" )(r), F = (r) => t( (e) => i(e) && e[Symbol.toStringTag] === "Uint32Array" )(r), U = (r) => t( (e) => i(e) && e[Symbol.toStringTag] === "Float32Array" )(r), G = (r) => t( (e) => i(e) && e[Symbol.toStringTag] === "Float64Array" )(r), P = (r) => t( (e) => i(e) && e[Symbol.toStringTag] === "BigInt64Array" )(r), R = (r) => t( (e) => i(e) && e[Symbol.toStringTag] === "BigUint64Array" )(r), b = t( (r) => s(r) && (o(r) === "[object DataView]" || r instanceof DataView) ), M = t( (r) => i(r) || b(r) ); function Br(r, e) { if (!M(r)) throw new TypeError(e?.message); } function D(r) { return t( (e) => typeof e == "function" && o(e) === "[object AsyncFunction]" )(r); } function Nr(r, e) { if (!D(r)) throw new TypeError(e?.message); } function x(r) { return t( (e) => s(e) && o(e) === "[object AsyncGenerator]" )(r); } function Vr(r, e) { if (!x(r)) throw new TypeError(e?.message); } function W(r) { return t( (e) => typeof e == "function" && o(e) === "[object AsyncGeneratorFunction]" )(r); } function kr(r, e) { if (!W(r)) throw new TypeError(e?.message); } function C(r) { return t( (e) => s(e) && typeof Reflect.get(e, Symbol.asyncIterator) == "function" )(r); } function Fr(r, e) { if (!C(r)) throw new TypeError(e?.message); } const q = t( (r) => typeof r == "bigint" ); function Ur(r, e) { if (!q(r)) throw new TypeError(e?.message); } const I = t( (r) => typeof r == "object" && r !== null && Object.prototype.toString.call(r) === "[object BigInt]" ); function Gr(r, e) { if (!I(r)) throw new TypeError(e?.message); } const z = t( (r) => typeof r == "boolean" ); function Pr(r, e) { if (!z(r)) throw new TypeError(e?.message); } const E = t( (r) => s(r) && o(r) === "[object Boolean]" && typeof r.valueOf() == "boolean" ); function Rr(r, e) { if (!E(r)) throw new TypeError(e?.message); } const h = t( (r) => s(r) && o(r) === "[object Number]" && typeof r.valueOf() == "number" ), T = t( (r) => s(r) && o(r) === "[object String]" && typeof r.valueOf() == "string" ), A = t( (r) => typeof r == "object" && r !== null && Object.prototype.toString.call(r) === "[object Symbol]" ), H = t( (r) => E(r) || h(r) || T(r) || I(r) || A(r) ); function Mr(r, e) { if (!H(r)) throw new TypeError(e?.message); } const J = t( (r) => typeof Buffer < "u" && r instanceof Buffer ); function Dr(r, e) { if (!J(r)) throw new TypeError(e?.message); } function xr(r, e) { if (!b(r)) throw new TypeError(e?.message); } const K = t( (r) => s(r) && (o(r) === "[object Date]" || r instanceof Date) ); function Wr(r, e) { if (!K(r)) throw new TypeError(e?.message); } const c = t( (r) => r === void 0 ); function Cr(r, e) { if (c(r)) throw new TypeError(e?.message); } function j(r, e) { return t( (n) => Array.isArray(n) && (!e?.valueValidator || n.every(e.valueValidator)) )(r); } const L = t( (r) => j(r) && r.length === 0 ); function qr(r, e) { if (!L(r)) throw new TypeError(e?.message); } const Q = t( (r) => s(r) && !Array.isArray(r) && Object.keys(r).length === 0 ); function zr(r, e) { if (!Q(r)) throw new TypeError(e?.message); } const y = t( (r) => typeof r == "string" ), X = t( (r) => y(r) && r.length === 0 ); function Hr(r, e) { if (!X(r)) throw new TypeError(e?.message); } function Y(r) { return t( (e) => s(e) && (o(e) === "[object Error]" || e instanceof Error) )(r); } function Jr(r, e) { if (!Y(r)) throw new TypeError(e?.message); } const Z = t( (r) => typeof r == "number" && Number.isFinite(r) ); function Kr(r, e) { if (!Z(r)) throw new TypeError(e?.message); } function _(r) { return t( (e) => typeof e == "function" && o(e) === "[object Function]" )(r); } function Lr(r, e) { if (!_(r)) throw new TypeError(e?.message); } function $(r) { return t( (e) => s(e) && o(e) === "[object Generator]" )(r); } function Qr(r, e) { if (!$(r)) throw new TypeError(e?.message); } function v(r) { return t( (e) => typeof e == "function" && o(e) === "[object GeneratorFunction]" )(r); } function Xr(r, e) { if (!v(r)) throw new TypeError(e?.message); } const rr = t( (r) => typeof r == "number" && Number.isInteger(r) ); function Yr(r, e) { if (!rr(r)) throw new TypeError(e?.message); } function er(r) { return t( (e) => s(e) && typeof Reflect.get(e, Symbol.iterator) == "function" || y(e) )(r); } function Zr(r, e) { if (!er(r)) throw new TypeError(e?.message); } function tr(r) { return t( (e) => s(e) && typeof Reflect.get(e, "next") == "function" )(r); } function _r(r, e) { if (!tr(r)) throw new TypeError(e?.message); } function nr(r, e) { return t((n) => { if (!(n instanceof Map) && (!s(n) || o(n) !== "[object Map]")) return !1; const f = n; if (e?.valueValidator) { for (const a of f.values()) if (!e.valueValidator(a)) return !1; } if (e?.keyValidator) { for (const a of f.keys()) if (!e.keyValidator(a)) return !1; } return !0; })(r); } function $r(r, e) { if (!nr(r)) throw new TypeError(e?.message); if (e?.keyValidator && ![...r.keys()].every(e.keyValidator)) throw new TypeError(e.message); if (e?.valueValidator && ![...r.values()].every(e.valueValidator)) throw new TypeError(e.message); } const sr = t( (r) => typeof r == "object" && r !== null && Object.prototype.toString.call(r) === "[object Map Iterator]" ); function vr(r, e) { if (!sr(r)) throw new TypeError(e?.message); } const or = t( (r) => typeof r == "number" && Number.isNaN(r) ); function re(r, e) { if (!or(r)) throw new TypeError(e?.message); } const ir = t( (r) => r instanceof Error || r instanceof EvalError || r instanceof RangeError || r instanceof ReferenceError || r instanceof SyntaxError || r instanceof TypeError || r instanceof URIError || typeof AggregateError < "u" && r instanceof AggregateError ); function ee(r, e) { if (!ir(r)) throw new TypeError(e?.message); } const ar = t( (r) => j(r) && r.length > 0 ); function te(r, e) { if (!ar(r)) throw new TypeError(e?.message); } const fr = t( (r) => y(r) && r.length > 0 ); function ne(r, e) { if (!fr(r)) throw new TypeError(e?.message); } const g = t((r) => r === null); function se(r, e) { if (g(r)) throw new TypeError(e?.message); } function oe(r, e) { if (c(r) || g(r)) throw new TypeError(e?.message); } function ie(r, e) { if (!g(r)) throw new TypeError(e?.message); } const cr = u(g, c); function ae(r, e) { if (!cr(r)) throw new TypeError(e?.message); } const yr = t( (r) => typeof r == "number" ); function fe(r, e) { if (!yr(r)) throw new TypeError(e?.message); } function ce(r, e) { if (!h(r)) throw new TypeError(e?.message); } function ye(r, e) { if (!s(r)) throw new TypeError(e?.message); } function w(r) { try { return Object.getPrototypeOf(r); } catch { return null; } } const gr = t( (r) => { if (r === null || typeof r != "object") return !1; const e = w(r); return e === null || e === Object.prototype ? !0 : w(e) === null; } ); function ge(r, e) { if (!gr(r)) throw new TypeError(e?.message); } function wr(r) { return t( (e) => e instanceof Promise || s(e) && typeof Reflect.get(e, "then") == "function" )(r); } function we(r, e) { if (!wr(r)) throw new TypeError(e?.message); } function ur(r, e) { return t( (n) => s(n) && o(n) === "[object Object]" && (!e?.valueValidator || Object.values(n).every(e.valueValidator)) && (!e?.keyValidator || Object.keys(n).every(e.keyValidator)) )(r); } function ue(r, e) { if (!ur(r)) throw new TypeError(e?.message); if (e?.keyValidator && !Object.keys(r).every(e.keyValidator)) throw new TypeError(e.message); if (e?.valueValidator && !Object.values(r).every(e.valueValidator)) throw new TypeError(e.message); } const mr = t( (r) => s(r) && (o(r) === "[object RegExp]" || r instanceof RegExp) ); function me(r, e) { if (!mr(r)) throw new TypeError(e?.message); } const pr = t( (r) => typeof r == "number" && Number.isSafeInteger(r) ); function pe(r, e) { if (!pr(r)) throw new TypeError(e?.message); } function br(r, e) { return t((n) => { if (!s(n) || o(n) !== "[object Set]" && !(n instanceof Set)) return !1; const f = n; if (e?.valueValidator) { for (const a of f) if (!e.valueValidator(a)) return !1; } return !0; })(r); } function be(r, e) { if (!br(r)) throw new TypeError(e?.message); if (e?.valueValidator && ![...r].every(e.valueValidator)) throw new TypeError(e.message); } const Ir = t( (r) => typeof r == "object" && r !== null && Object.prototype.toString.call(r) === "[object Set Iterator]" ); function Ie(r, e) { if (!Ir(r)) throw new TypeError(e?.message); } function Ee(r, e) { if (!p(r)) throw new TypeError(e?.message); } function he(r, e) { if (!y(r)) throw new TypeError(e?.message); } function Te(r, e) { if (!T(r)) throw new TypeError(e?.message); } const Er = t( (r) => typeof r == "symbol" ); function Ae(r, e) { if (!Er(r)) throw new TypeError(e?.message); } function je(r, e) { if (!A(r)) throw new TypeError(e?.message); } function le(r, e) { if (!P(r)) throw new TypeError(e?.message); } function Se(r, e) { if (!R(r)) throw new TypeError(e?.message); } function de(r, e) { if (!U(r)) throw new TypeError(e?.message); } function Oe(r, e) { if (!G(r)) throw new TypeError(e?.message); } function Be(r, e) { if (!N(r)) throw new TypeError(e?.message); } function Ne(r, e) { if (!k(r)) throw new TypeError(e?.message); } function Ve(r, e) { if (!d(r)) throw new TypeError(e?.message); } function ke(r, e) { if (!i(r)) throw new TypeError(e?.message); } function Fe(r, e) { if (!V(r)) throw new TypeError(e?.message); } function Ue(r, e) { if (!F(r)) throw new TypeError(e?.message); } function Ge(r, e) { if (!O(r)) throw new TypeError(e?.message); } function Pe(r, e) { if (!B(r)) throw new TypeError(e?.message); } function Re(r, e) { if (!c(r)) throw new TypeError(e?.message); } function hr(r) { return t( (e) => e instanceof WeakMap || s(e) && o(e) === "[object WeakMap]" )(r); } function Me(r, e) { if (!hr(r)) throw new TypeError(e?.message); } function Tr(r) { return t( (e) => e instanceof WeakSet || s(e) && o(e) === "[object WeakSet]" )(r); } function De(r, e) { if (!Tr(r)) throw new TypeError(e?.message); } function Ar(r) { return r !== void 0; } function jr(r) { return r !== null; } function xe(r) { return Ar(r) && jr(r); } export { lr as assertIsAnyArrayBuffer, Sr as assertIsArgumentsObject, dr as assertIsArray, Or as assertIsArrayBuffer, Br as assertIsArrayBufferView, Nr as assertIsAsyncFunction, Vr as assertIsAsyncGenerator, kr as assertIsAsyncGeneratorFunction, Fr as assertIsAsyncIterable, Ur as assertIsBigInt, le as assertIsBigInt64Array, Gr as assertIsBigIntObject, Se as assertIsBigUint64Array, Pr as assertIsBoolean, Rr as assertIsBooleanObject, Mr as assertIsBoxedPrimitive, Dr as assertIsBuffer, xr as assertIsDataView, Wr as assertIsDate, Cr as assertIsDefined, qr as assertIsEmptyArray, zr as assertIsEmptyObject, Hr as assertIsEmptyString, Jr as assertIsError, Kr as assertIsFinite, de as assertIsFloat32Array, Oe as assertIsFloat64Array, Lr as assertIsFunction, Qr as assertIsGenerator, Xr as assertIsGeneratorFunction, Be as assertIsInt16Array, Ne as assertIsInt32Array, Ve as assertIsInt8Array, Yr as assertIsInteger, Zr as assertIsIterable, _r as assertIsIterator, $r as assertIsMap, vr as assertIsMapIterator, re as assertIsNaN, ee as assertIsNativeError, te as assertIsNonEmptyArray, ne as assertIsNonEmptyString, se as assertIsNotNull, oe as assertIsNotNullish, ie as assertIsNull, ae as assertIsNullish, fe as assertIsNumber, ce as assertIsNumberObject, ye as assertIsObject, ge as assertIsPlainObject, we as assertIsPromise, ue as assertIsRecord, me as assertIsRegExp, pe as assertIsSafeInteger, be as assertIsSet, Ie as assertIsSetIterator, Ee as assertIsSharedArrayBuffer, he as assertIsString, Te as assertIsStringObject, Ae as assertIsSymbol, je as assertIsSymbolObject, ke as assertIsTypedArray, Fe as assertIsUint16Array, Ue as assertIsUint32Array, Ge as assertIsUint8Array, Pe as assertIsUint8ClampedArray, Re as assertIsUndefined, Me as assertIsWeakMap, De as assertIsWeakSet, t as createTypeGuard, l as isAnyArrayBuffer, S as isArgumentsObject, j as isArray, m as isArrayBuffer, M as isArrayBufferView, D as isAsyncFunction, x as isAsyncGenerator, W as isAsyncGeneratorFunction, C as isAsyncIterable, q as isBigInt, P as isBigInt64Array, I as isBigIntObject, R as isBigUint64Array, z as isBoolean, E as isBooleanObject, H as isBoxedPrimitive, J as isBuffer, b as isDataView, K as isDate, Ar as isDefined, L as isEmptyArray, Q as isEmptyObject, X as isEmptyString, Y as isError, Z as isFinite, U as isFloat32Array, G as isFloat64Array, _ as isFunction, $ as isGenerator, v as isGeneratorFunction, N as isInt16Array, k as isInt32Array, d as isInt8Array, rr as isInteger, er as isIterable, tr as isIterator, nr as isMap, sr as isMapIterator, or as isNaN, ir as isNativeError, ar as isNonEmptyArray, fr as isNonEmptyString, jr as isNotNull, xe as isNotNullish, g as isNull, cr as isNullish, yr as isNumber, h as isNumberObject, s as isObject, gr as isPlainObject, wr as isPromise, ur as isRecord, mr as isRegExp, pr as isSafeInteger, br as isSet, Ir as isSetIterator, p as isSharedArrayBuffer, y as isString, T as isStringObject, Er as isSymbol, A as isSymbolObject, i as isTypedArray, V as isUint16Array, F as isUint32Array, O as isUint8Array, B as isUint8ClampedArray, c as isUndefined, u as isUnion, hr as isWeakMap, Tr as isWeakSet }; //# sourceMappingURL=index.mjs.map