foxts
Version:
Opinionated collection of common TypeScript utils by @SukkaW
1 lines • 940 B
JavaScript
;const r=r=>null!==r,e=r=>void 0!==r,n=r=>!1!==r,t=r=>null!=r,u=r=>!!r,s=r=>null===r,l=r=>void 0===r,o=r=>!1===r,i=r=>null==r,a=r=>!r,c=r=>!!r;function f(r,e="value"){throw TypeError(`Unexpected ${e}: ${r} as ${JSON.stringify(typeof r)}, should be "never"`)}exports.invariant=function(r,e='[foxts/invariant] "value" is null or undefined'){if(null==r)throw TypeError(e)},exports.is=function(r){switch(r){case null:return s;case void 0:return l;case!1:return o;case"nullish":return i;case"falsy":return a;case"truthy":return c;default:f(r,"argument")}},exports.isFalsy=a,exports.isNonNull=r,exports.isNonNullish=t,exports.isTruthy=c,exports.never=f,exports.not=function(s){switch(s){case null:return r;case void 0:return e;case!1:return n;case"nullish":return t;case"falsy":return u;default:f(s,"argument")}},exports.nullthrow=function(r,e='[foxts/invariant] "value" is null or undefined'){if(null==r)throw TypeError(e);return r};