{"version":3,"file":"type.mjs","sources":["../../../src/utils/type.ts"],"sourcesContent":["const getTag = (value: unknown): string => Object.prototype.toString.call(value)\n\nexport function isFunction(value: unknown): value is (...args: any[]) => any {\n  return typeof value === 'function'\n}\n\nexport function isNil(value: unknown): value is null | undefined {\n  return value == null\n}\n\nexport function isObject(value: unknown): value is object {\n  const type = typeof value\n  return value != null && (type === 'object' || type === 'function')\n}\n\nexport function isArray(value: any): value is any[] {\n  return Array.isArray(value)\n}\n\nexport function isBoolean(value: unknown): value is boolean {\n  return (\n    typeof value === 'boolean' ||\n    (isObject(value) && getTag(value) === '[object Boolean]')\n  )\n}\n\nexport function isInteger(value: unknown): value is BigInteger {\n  return Number.isInteger(value)\n}\n\nexport function isNumber(value: unknown): value is number {\n  return (\n    typeof value === 'number' ||\n    (isObject(value) && getTag(value) === '[object Number]')\n  )\n}\n\nexport function isNaN(value: unknown): boolean {\n  return Number.isNaN(value)\n}\n\nexport function isString(value: unknown): value is string {\n  return (\n    typeof value === 'string' ||\n    (isObject(value) && getTag(value) === '[object String]')\n  )\n}\n\nexport function isSymbol(value: unknown): value is symbol {\n  return (\n    typeof value === 'symbol' ||\n    (isObject(value) && getTag(value) === '[object Symbol]')\n  )\n}\n\nexport function isRegExp(value: unknown): value is RegExp {\n  return isObject(value) && value.constructor === RegExp\n}\n\nexport const isSet = (value: unknown): value is Set<unknown> =>\n  getTag(value) === '[object Set]'\nexport const isMap = (value: unknown): value is Map<unknown, unknown> =>\n  getTag(value) === '[object Map]'\n\nexport function isEmpty(value: unknown): boolean {\n  if (value == null) {\n    return true\n  }\n  if (isArray(value) || isString(value)) {\n    return !value.length\n  }\n  if (isMap(value) || isSet(value)) {\n    return !value.size\n  }\n  if (isObject(value)) {\n    return !Object.keys(value).length\n  }\n  if (isBoolean(value) || isNumber(value)) {\n    return false\n  }\n  return !value\n}\n"],"names":["getTag","value","Object","prototype","toString","call","isFunction","isNil","isObject","type","isArray","Array","isBoolean","isInteger","Number","isNumber","isString","isSymbol","isRegExp","constructor","RegExp","isSet","isMap","isEmpty","length","size","keys"],"mappings":"AAAA,MAAMA,MAAM,GAAIC,KAAc,IAAaC,MAAM,CAACC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACJ,KAAK,CAAC;AAEzE,SAASK,UAAUA,CAACL,KAAc,EAAoC;EAC3E,OAAO,OAAOA,KAAK,KAAK,UAAU;AACpC;AAEO,SAASM,KAAKA,CAACN,KAAc,EAA6B;EAC/D,OAAOA,KAAK,IAAI,IAAI;AACtB;AAEO,SAASO,QAAQA,CAACP,KAAc,EAAmB;EACxD,MAAMQ,IAAI,GAAG,OAAOR,KAAK;EACzB,OAAOA,KAAK,IAAI,IAAI,KAAKQ,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,UAAU,CAAC;AACpE;AAEO,SAASC,OAAOA,CAACT,KAAU,EAAkB;AAClD,EAAA,OAAOU,KAAK,CAACD,OAAO,CAACT,KAAK,CAAC;AAC7B;AAEO,SAASW,SAASA,CAACX,KAAc,EAAoB;AAC1D,EAAA,OACE,OAAOA,KAAK,KAAK,SAAS,IACzBO,QAAQ,CAACP,KAAK,CAAC,IAAID,MAAM,CAACC,KAAK,CAAC,KAAK,kBAAmB;AAE7D;AAEO,SAASY,SAASA,CAACZ,KAAc,EAAuB;AAC7D,EAAA,OAAOa,MAAM,CAACD,SAAS,CAACZ,KAAK,CAAC;AAChC;AAEO,SAASc,QAAQA,CAACd,KAAc,EAAmB;AACxD,EAAA,OACE,OAAOA,KAAK,KAAK,QAAQ,IACxBO,QAAQ,CAACP,KAAK,CAAC,IAAID,MAAM,CAACC,KAAK,CAAC,KAAK,iBAAkB;AAE5D;AAMO,SAASe,QAAQA,CAACf,KAAc,EAAmB;AACxD,EAAA,OACE,OAAOA,KAAK,KAAK,QAAQ,IACxBO,QAAQ,CAACP,KAAK,CAAC,IAAID,MAAM,CAACC,KAAK,CAAC,KAAK,iBAAkB;AAE5D;AAEO,SAASgB,QAAQA,CAAChB,KAAc,EAAmB;AACxD,EAAA,OACE,OAAOA,KAAK,KAAK,QAAQ,IACxBO,QAAQ,CAACP,KAAK,CAAC,IAAID,MAAM,CAACC,KAAK,CAAC,KAAK,iBAAkB;AAE5D;AAEO,SAASiB,QAAQA,CAACjB,KAAc,EAAmB;EACxD,OAAOO,QAAQ,CAACP,KAAK,CAAC,IAAIA,KAAK,CAACkB,WAAW,KAAKC,MAAM;AACxD;AAEO,MAAMC,KAAK,GAAIpB,KAAc,IAClCD,MAAM,CAACC,KAAK,CAAC,KAAK;AACb,MAAMqB,KAAK,GAAIrB,KAAc,IAClCD,MAAM,CAACC,KAAK,CAAC,KAAK;AAEb,SAASsB,OAAOA,CAACtB,KAAc,EAAW;EAC/C,IAAIA,KAAK,IAAI,IAAI,EAAE;AACjB,IAAA,OAAO,IAAI;AACb;EACA,IAAIS,OAAO,CAACT,KAAK,CAAC,IAAIe,QAAQ,CAACf,KAAK,CAAC,EAAE;IACrC,OAAO,CAACA,KAAK,CAACuB,MAAM;AACtB;EACA,IAAIF,KAAK,CAACrB,KAAK,CAAC,IAAIoB,KAAK,CAACpB,KAAK,CAAC,EAAE;IAChC,OAAO,CAACA,KAAK,CAACwB,IAAI;AACpB;AACA,EAAA,IAAIjB,QAAQ,CAACP,KAAK,CAAC,EAAE;IACnB,OAAO,CAACC,MAAM,CAACwB,IAAI,CAACzB,KAAK,CAAC,CAACuB,MAAM;AACnC;EACA,IAAIZ,SAAS,CAACX,KAAK,CAAC,IAAIc,QAAQ,CAACd,KAAK,CAAC,EAAE;AACvC,IAAA,OAAO,KAAK;AACd;AACA,EAAA,OAAO,CAACA,KAAK;AACf;;;;"}