{"version":3,"sources":["../src/types/kind.enum.ts","../src/runtime/is-class.ts","../src/runtime/kind-of.ts","../src/runtime/args-names.ts","../src/runtime/debug-string.ts"],"names":["Kind"],"mappings":"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","file":"debug-string.cjs","sourcesContent":["export enum Kind {\n  Null = 'null',\n  String = 'string',\n  Undefined = 'undefined',\n  Array = 'array',\n  ArrayLike = 'arraylike',\n  Class = 'class',\n  Function = 'function',\n  Symbol = 'symbol',\n  Number = 'number',\n  Date = 'date',\n  Boolean = 'boolean',\n  RegExp = 'regexp',\n  Buffer = 'buffer',\n  NaN = 'nan',\n  Set = 'set',\n  Map = 'map',\n  ArrayBuffer = 'arraybuffer',\n  Error = 'error',\n  Promise = 'promise',\n  WeakMap = 'weakmap',\n  WeakSet = 'weakset',\n  Int8Array = 'int8array',\n  Uint8Array = 'uint8array',\n  Uint8ClampedArray = 'uint8clampedarray',\n  Object = 'object',\n  Element = 'element',\n}\n\nexport default Kind;\n","export function isClass(Class: any) {\n  if (typeof Class !== 'function') {\n    return false;\n  }\n  if (/^class\\s/.test(Function.prototype.toString.call(Class))) {\n    return true;\n  }\n  try {\n    new Class();\n    return /^[A-Z]/gm.test(Class.name);\n  } catch (err: any) {\n    return !err.message.includes('is not a constructor');\n  }\n}\n\nexport default isClass;\n","import { isClass } from './is-class';\nimport Kind from '../types/kind.enum';\n\nexport function kindOf(value: unknown): Kind {\n  if (value === null) return Kind.Null;\n  if (value === undefined) return Kind.Undefined;\n\n  if (typeof value === 'string') return Kind.String;\n\n  // Check for Buffer (Node.js)\n  if (typeof Buffer !== 'undefined' && Buffer.isBuffer(value)) {\n    return Kind.Buffer;\n  }\n\n  if (value instanceof ArrayBuffer) return Kind.ArrayBuffer;\n\n  if (typeof value === 'number' && Number.isNaN(value)) {\n    return Kind.NaN;\n  }\n\n  if (value instanceof Error) return Kind.Error;\n  if (value instanceof Promise) return Kind.Promise;\n  if (value instanceof WeakMap) return Kind.WeakMap;\n  if (value instanceof WeakSet) return Kind.WeakSet;\n  if (value instanceof Int8Array) return Kind.Int8Array;\n  if (value instanceof Uint8Array) return Kind.Uint8Array;\n  if (value instanceof Uint8ClampedArray) return Kind.Uint8ClampedArray;\n\n  if (typeof value === 'function') {\n    return isClass(value) ? Kind.Class : Kind.Function;\n  }\n\n  if (Array.isArray(value)) return Kind.Array;\n\n  if (value instanceof Set) return Kind.Set;\n  if (value instanceof Map) return Kind.Map;\n\n  // Array-like: has length, not string and not function\n  if (\n    typeof value === 'object' &&\n    value !== null &&\n    'length' in (value as any) &&\n    typeof (value as any).length === 'number' &&\n    !(value instanceof String)\n  ) {\n    return Kind.ArrayLike;\n  }\n\n  if (typeof value === 'symbol') return Kind.Symbol;\n  if (typeof value === 'number') return Kind.Number;\n  if (typeof value === 'boolean') return Kind.Boolean;\n\n  if (value instanceof Date) return Kind.Date;\n  if (value instanceof RegExp) return Kind.RegExp;\n\n  if (typeof Element === 'function' && value instanceof Element)\n    return Kind.Element;\n\n  if (typeof value === 'object') return Kind.Object;\n\n  return (typeof value as Kind) || Kind.Undefined;\n}\n\nexport default kindOf;\n","export function argsNames(fn: Function): string[] {\n  const fnStr = fn\n    .toString()\n    // remove comments\n    .replace(/\\/\\*.*?\\*\\//g, '')\n    .replace(/\\/\\/.*$/gm, '');\n\n  // regular expression to find arguments\n  const result = fnStr.match(/^[^(]*\\(([^)]*)\\)/);\n  if (!result) return [];\n\n  const args = result[1]\n    .split(',')\n    .map((arg) => arg.trim())\n    .filter(Boolean)\n    // remove default values and destructuring\n    .map((arg) => arg.split('=')[0].trim())\n    .map((arg) => arg.replace(/[\\{\\}\\[\\]\\s]/g, '')) // remove destructuring brackets\n    .filter(Boolean);\n\n  return args;\n}\n\nexport default argsNames;\n","import { Kind } from '../index';\nimport argsNames from './args-names';\nimport kindOf from './kind-of';\n\nexport const debugString = (val: any): string => {\n  if (kindOf(val) === Kind.Error) {\n    return val.stack;\n  }\n\n  if (kindOf(val) === Kind.Undefined) return 'undefined';\n\n  if (kindOf(val) === Kind.Null) return 'null';\n\n  if (kindOf(val) === Kind.Symbol) return val.toString();\n\n  if (kindOf(val) === Kind.String) return val;\n\n  if (kindOf(val) === Kind.Class) return `[class ${val.name}]`;\n\n  if (kindOf(val) === Kind.Function)\n    return `[function ${val.name}(${argsNames(val).join(', ')})]`;\n\n  if (kindOf(val) === Kind.NaN) return 'NaN';\n\n  if (kindOf(val) === Kind.Array) {\n    return `[${val.map((v: any) => debugString(v)).join(', ')}]`;\n  }\n\n  if (kindOf(val) === Kind.Element) {\n    const id = val.getAttribute('id');\n    const className = val.getAttribute('class');\n    const attrs = `${val.tagName.toLowerCase()}${id ? ` id=\"${id}\"` : ''}${\n      className ? ` class=\"${className}\"` : ''\n    }`;\n    let html = val.innerHTML?.trim();\n    if (!html) {\n      return val.outerHTML;\n    }\n    if (html.length > 30) {\n      html = `${html.slice(0, 30)}...`;\n    }\n    return `<${attrs}>${html}</${val.tagName.toLowerCase()}>`;\n  }\n\n  if (typeof NodeList === 'function' && val instanceof NodeList) {\n    return debugString([...val]);\n  }\n\n  if (typeof HTMLCollection === 'function' && val instanceof HTMLCollection) {\n    return debugString([...val]);\n  }\n\n  try {\n    const s = JSON.stringify(val, null, 2);\n    if (s === '{}') {\n      return val.toString();\n    } else {\n      return s;\n    }\n  } catch (err) {\n    return val?.toString();\n  }\n};\n\nexport default debugString;\n"]}