type-tls
Version:
type-tls 封装了与类型相关的工具,比如:获取数据的类型 或 类型名字、判断数据的类型 等
2 lines (1 loc) • 2.54 kB
JavaScript
var TypeTls=function(e){"use strict";function f(n){var t=typeof n;return n&&(t==="object"||t==="function")}function o(n){var t=n;return n!=null&&(t=n.constructor,t==null&&(t=typeof n)),t}function s(n){switch(n){case void 0:return"undefined";case null:return"null"}let t=typeof n;switch(t){case"function":return n.name;case"string":return n;default:return t}}function y(n){return globalThis[n]}function l(n){let t=o(n);return s(t)}function a(n){return n==null||f(n)?o(n):typeof n}function A(n){var t=a(n);return s(t)}function g(n){var t=typeof n;return n==null||t!=="object"&&t!=="function"}function T(n){let t=n&&n.length;return Number.isInteger(n.length)&&t>=0}function m(n){return n&&typeof n[Symbol.iterator]=="function"}function F(n){return n&&typeof n.next=="function"}const b=/^[A-Za-z_$]+[\w$]*$/;function O(n){return b.test(n)}const w=/(^\s*(async\s+)?\s*(\b[A-Za-z_$]+[\w$]*\b)\s*=>)|(^\s*(async\s+)?\s*\(\s*(\b[A-Za-z_$]+[\w$]*\b)?\s*(,\s*(\b[A-Za-z_$]+[\w$]*\b)\s*)*\)\s*=>)/;function d(n){const t=n.toString();return w.test(t)}const h=globalThis.AsyncFunction??(async function(){}).constructor;function E(n){return n instanceof h}const $=globalThis.GeneratorFunction??(function*(){}).constructor;function N(n){return n instanceof $}const S=globalThis.AsyncGeneratorFunction??(async function*(){}).constructor;function q(n){return n instanceof S}const v=/(^\s*(async\s+)?function\s*(\s|\*)\s*)[A-Za-z_$]+[\w$]*(\s*\()/;function I(n){if(n.name){const t=n.toString();return!v.test(t)}return!0}function G(n){return Array.isArray(n)?n:n==null?[]:[n]}function j(n){for(const[t,r]of Object.entries(n))n[t]=Array.isArray(r)?r:r==null?[]:[r];return n}function p(n,t){return n instanceof Promise?n.then(r=>t(r,!1,void 0),r=>t(void 0,!0,r)):t(n,!1,void 0)}return e.BitFlagEqualTestType=(n=>(n.equal="equal",n.intersect="intersect",n.intersectEqual="intersectEqual",n))(e.BitFlagEqualTestType||{}),(n=>{function t(r){let c;switch(r){case"equal":c=(u,i)=>u===i;case"intersect":c=(u,i)=>u&i;default:c=(u,i)=>(u&i)===u}return c}n.getEqualFun=t})(e.BitFlagEqualTestType||(e.BitFlagEqualTestType={})),e.formatAsArray=G,e.formatMemberAsArray=j,e.getExactTypeNameOf=A,e.getExactTypeOf=a,e.getNameOfType=s,e.getTypeByName=y,e.getTypeNameOf=l,e.getTypeOf=o,e.isAnonymousFunction=I,e.isArrayLike=T,e.isArrowFunction=d,e.isAsyncFunction=E,e.isAsyncGeneratorFunction=q,e.isBaseType=g,e.isGeneratorFunction=N,e.isIdentifier=O,e.isIterable=m,e.isIterator=F,e.isObject=f,e.waitAsyncable=p,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),e}({});