@vielzeug/toolkit 1.0.11 → 1.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/dist/array/chunk.cjs +1 -1
  2. package/dist/array/chunk.cjs.map +1 -1
  3. package/dist/array/chunk.js +15 -12
  4. package/dist/array/chunk.js.map +1 -1
  5. package/dist/array/group.cjs +1 -1
  6. package/dist/array/group.cjs.map +1 -1
  7. package/dist/array/group.js +9 -9
  8. package/dist/array/group.js.map +1 -1
  9. package/dist/array/list.cjs +1 -1
  10. package/dist/array/list.cjs.map +1 -1
  11. package/dist/array/list.js +28 -24
  12. package/dist/array/list.js.map +1 -1
  13. package/dist/array/pick.cjs.map +1 -1
  14. package/dist/array/pick.js.map +1 -1
  15. package/dist/date/timeDiff.cjs +1 -1
  16. package/dist/date/timeDiff.cjs.map +1 -1
  17. package/dist/date/timeDiff.js +10 -12
  18. package/dist/date/timeDiff.js.map +1 -1
  19. package/dist/function/curry.cjs +1 -1
  20. package/dist/function/curry.cjs.map +1 -1
  21. package/dist/function/curry.js +3 -3
  22. package/dist/function/curry.js.map +1 -1
  23. package/dist/function/debounce.cjs +1 -1
  24. package/dist/function/debounce.cjs.map +1 -1
  25. package/dist/function/debounce.js +22 -5
  26. package/dist/function/debounce.js.map +1 -1
  27. package/dist/function/memo.cjs +1 -1
  28. package/dist/function/memo.cjs.map +1 -1
  29. package/dist/function/memo.js +14 -13
  30. package/dist/function/memo.js.map +1 -1
  31. package/dist/function/retry.cjs +1 -1
  32. package/dist/function/retry.cjs.map +1 -1
  33. package/dist/function/retry.js +12 -12
  34. package/dist/function/retry.js.map +1 -1
  35. package/dist/function/sleep.cjs +1 -1
  36. package/dist/function/sleep.cjs.map +1 -1
  37. package/dist/function/sleep.js +8 -3
  38. package/dist/function/sleep.js.map +1 -1
  39. package/dist/function/throttle.cjs +1 -1
  40. package/dist/function/throttle.cjs.map +1 -1
  41. package/dist/function/throttle.js +33 -6
  42. package/dist/function/throttle.js.map +1 -1
  43. package/dist/index.d.ts +62 -51
  44. package/dist/logit/dist/logit.cjs +1 -1
  45. package/dist/logit/dist/logit.cjs.map +1 -1
  46. package/dist/logit/dist/logit.js +64 -62
  47. package/dist/logit/dist/logit.js.map +1 -1
  48. package/dist/math/average.cjs +1 -1
  49. package/dist/math/average.cjs.map +1 -1
  50. package/dist/math/average.js +18 -12
  51. package/dist/math/average.js.map +1 -1
  52. package/dist/math/median.cjs.map +1 -1
  53. package/dist/math/median.js.map +1 -1
  54. package/dist/math/range.cjs +1 -1
  55. package/dist/math/range.cjs.map +1 -1
  56. package/dist/math/range.js +14 -6
  57. package/dist/math/range.js.map +1 -1
  58. package/dist/math/sum.cjs +1 -1
  59. package/dist/math/sum.cjs.map +1 -1
  60. package/dist/math/sum.js +11 -18
  61. package/dist/math/sum.js.map +1 -1
  62. package/dist/object/clone.cjs +1 -1
  63. package/dist/object/clone.cjs.map +1 -1
  64. package/dist/object/clone.js +13 -3
  65. package/dist/object/clone.js.map +1 -1
  66. package/dist/object/merge.cjs +1 -1
  67. package/dist/object/merge.cjs.map +1 -1
  68. package/dist/object/merge.js +11 -15
  69. package/dist/object/merge.js.map +1 -1
  70. package/dist/object/seek.cjs +1 -1
  71. package/dist/object/seek.cjs.map +1 -1
  72. package/dist/object/seek.js +8 -6
  73. package/dist/object/seek.js.map +1 -1
  74. package/dist/random/uuid.cjs +1 -1
  75. package/dist/random/uuid.cjs.map +1 -1
  76. package/dist/random/uuid.js +6 -3
  77. package/dist/random/uuid.js.map +1 -1
  78. package/dist/string/camelCase.cjs +1 -1
  79. package/dist/string/camelCase.cjs.map +1 -1
  80. package/dist/string/camelCase.js +3 -3
  81. package/dist/string/camelCase.js.map +1 -1
  82. package/dist/string/similarity.cjs +1 -1
  83. package/dist/string/similarity.cjs.map +1 -1
  84. package/dist/string/similarity.js +24 -21
  85. package/dist/string/similarity.js.map +1 -1
  86. package/dist/string/truncate.cjs +1 -1
  87. package/dist/string/truncate.cjs.map +1 -1
  88. package/dist/string/truncate.js +14 -5
  89. package/dist/string/truncate.js.map +1 -1
  90. package/dist/typed/is.cjs +1 -1
  91. package/dist/typed/is.cjs.map +1 -1
  92. package/dist/typed/is.js +30 -31
  93. package/dist/typed/is.js.map +1 -1
  94. package/dist/typed/isEmpty.cjs +1 -1
  95. package/dist/typed/isEmpty.cjs.map +1 -1
  96. package/dist/typed/isEmpty.js +6 -6
  97. package/dist/typed/isEmpty.js.map +1 -1
  98. package/dist/typed/isEqual.cjs +1 -1
  99. package/dist/typed/isEqual.cjs.map +1 -1
  100. package/dist/typed/isEqual.js +22 -17
  101. package/dist/typed/isEqual.js.map +1 -1
  102. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"logit.cjs","sources":["../../../../logit/dist/logit.js"],"sourcesContent":["const h = {};\nconst w = {\n debug: \"log\",\n success: \"log\"\n}, v = () => h?.NODE_ENV === \"production\", $ = typeof window < \"u\" && window.matchMedia?.(\"(prefers-color-scheme: dark)\").matches, m = {\n debug: { bg: \"#616161\", border: \"#424242\", color: \"#fff\", icon: \"☕\", symbol: \"🅳\" },\n error: { bg: \"#d32f2f\", border: \"#c62828\", color: \"#fff\", icon: \"✘\", symbol: \"🅴\" },\n group: { bg: \"#546e7a\", border: \"#455a64\", color: \"#fff\", icon: \"⚭\", symbol: \"🅶\" },\n info: { bg: \"#1976d2\", border: \"#1565c0\", color: \"#fff\", icon: \"ℹ\", symbol: \"🅸\" },\n ns: $ ? { bg: \"#fafafa\", border: \"#c7c7c7\", color: \"#000\" } : { bg: \"#424242\", border: \"#212121\", color: \"#fff\" },\n success: { bg: \"#689f38\", border: \"#558b2f\", color: \"#fff\", icon: \"✔\", symbol: \"🆂\" },\n time: { bg: \"#0097a7\", border: \"#00838f\", color: \"#fff\", icon: \"⏲\", symbol: \"🆃\" },\n trace: { bg: \"#d81b60\", border: \"#c2185b\", color: \"#fff\", icon: \"⛢\", symbol: \"🆃\" },\n warn: { bg: \"#ffb300\", border: \"#ffa000\", color: \"#fff\", icon: \"⚠\", symbol: \"🆆\" }\n}, f = {\n debug: 0,\n trace: 1,\n time: 2,\n table: 3,\n info: 4,\n success: 5,\n warn: 6,\n error: 7,\n off: 8\n}, e = {\n environment: !0,\n logLevel: \"debug\",\n namespace: \"\",\n remote: { handler: void 0, logLevel: \"off\" },\n timestamp: !0,\n variant: \"symbol\"\n}, d = (o) => f[e.logLevel] <= f[o], u = () => (/* @__PURE__ */ new Date()).toISOString().slice(11, 23), b = () => v() ? \"🄿\" : \"🄳\", x = (o, r) => {\n e.remote.handler && f[e.remote.logLevel] <= f[o] && e.remote.handler(o, ...r);\n}, p = (o) => w[o] || o, g = (o, r = \"\") => {\n const { bg: t, color: s, border: n } = m[o], c = `color: ${t}; border: 1px solid ${n}; border-radius: 4px;`;\n switch (e.variant) {\n case \"symbol\":\n return `${c} padding: 1px 1px 0;${r};`;\n case \"icon\":\n return `${c} padding: 0 3px;${r};`;\n default:\n return `background: ${t}; color: ${s}; border: 1px solid ${n}; border-radius: 4px; font-weight: bold; padding: 0 3px;${r}`;\n }\n};\nfunction L(o) {\n const r = m[o], { namespace: t, variant: s, timestamp: n, environment: c } = e;\n let i = `%c${r[s] ?? o.toUpperCase()}%c`;\n const a = [g(o), \"\"];\n return t && (i += ` %c${t}%c`, a.push(g(\"ns\", \" border-radius: 8px; font: italic small-caps bold 12px; font-weight: lighter;\"), \"\")), c && (i += ` %c${b()}%c`, a.push(\"color: darkgray;\", \"\")), n && (i += ` %c${u()}%c`, a.push(\"color: gray;\", \"\")), { format: i, parts: a };\n}\nconst l = (o, ...r) => {\n if (typeof window > \"u\") {\n const c = m[o], { variant: i } = e, a = console[p(o)];\n a(`${c[i] ?? o.toUpperCase()} | ${b()} |`, ...r);\n return;\n }\n if (!d(o)) return;\n const { format: t, parts: s } = L(o), n = console[p(o)];\n n(t, ...s, ...r), x(o, r);\n}, E = (o) => {\n const r = Math.floor(Date.now() - o);\n return r ? `${r}ms` : \"\";\n}, _ = {\n /**\n * Asserts a condition and logs an error if it's false.\n */\n assert: (o, r, t) => console.assert(o, r, t),\n debug: (...o) => l(\"debug\", ...o),\n error: (...o) => l(\"error\", ...o),\n /**\n * Gets the current log level.\n */\n getLevel: () => e.logLevel,\n /**\n * Gets the current namespace prefix.\n */\n getPrefix: () => e.namespace,\n /**\n * Gets whether timestamps are shown.\n */\n getTimestamp: () => e.timestamp,\n /**\n * Creates a collapsed group in the console.\n */\n groupCollapsed: (o, r = \"GROUP\", t = Date.now()) => {\n if (!d(\"success\")) return;\n const s = E(t), n = b();\n console.groupCollapsed(\n `%c${r}%c${e.namespace}%c${n}%c${e.timestamp ? u() : \"\"}%c${s}%c${o}`,\n g(\"group\", \"margin-right: 6px; padding: 1px 3px 0\"),\n g(\"ns\", \" border-radius: 8px; font: italic small-caps bold 12px; font-weight: lighter;margin-right: 6px;\"),\n \"color: darkgray; margin-right: 6px;\",\n \"color: gray;font-weight: lighter;margin-right: 6px;\",\n \"color: gray; font-weight: lighter;margin-right: 6px;\",\n \"color: inherit;font-weight: lighter;\"\n );\n },\n /**\n * Ends the current console group.\n */\n groupEnd: () => {\n d(\"success\") && console.groupEnd();\n },\n info: (...o) => l(\"info\", ...o),\n /**\n * Initializes Logit with custom options.\n */\n initialise: (o) => {\n Object.assign(e, o);\n },\n /**\n * Sets the minimum log level to display.\n */\n setLogLevel: (o) => {\n e.logLevel = o;\n },\n /**\n * Sets the namespace prefix for all logs.\n */\n setPrefix: (o) => {\n e.namespace = o;\n },\n /**\n * Configures remote logging options.\n */\n setRemote: (o) => {\n e.remote = o;\n },\n /**\n * Sets the log level for remote logging.\n */\n setRemoteLogLevel: (o) => {\n e.remote.logLevel = o;\n },\n /**\n * Sets the display variant (text, icon, or symbol).\n */\n setVariant: (o) => {\n e.variant = o;\n },\n /**\n * Shows or hides the environment indicator.\n */\n showEnvironment: (o) => {\n e.environment = o;\n },\n /**\n * Shows or hides timestamps in logs.\n */\n showTimestamp: (o) => {\n e.timestamp = o;\n },\n success: (...o) => l(\"success\", ...o),\n /**\n * Displays data in a table format.\n */\n table: (...o) => {\n d(\"table\") && console.table(...o);\n },\n /**\n * Starts a timer with the given label.\n */\n time: (o) => {\n d(\"time\") && console.time(o);\n },\n /**\n * Ends a timer with the given label.\n */\n timeEnd: (o) => {\n d(\"time\") && console.timeEnd(o);\n },\n trace: (...o) => l(\"trace\", ...o),\n warn: (...o) => l(\"warn\", ...o)\n};\ntypeof window < \"u\" && (window.Logit = _);\nexport {\n _ as Logit\n};\n//# sourceMappingURL=logit.js.map\n"],"names":["h","w","$","e","d","o","b","x","p","g","i","a","_"],"mappings":"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"}
1
+ {"version":3,"file":"logit.cjs","sources":["../../../../logit/dist/logit.js"],"sourcesContent":["const $ = {};\nconst v = {\n debug: \"log\",\n success: \"log\"\n}, w = () => typeof window < \"u\" && $?.NODE_ENV ? !1 : typeof process < \"u\" && process.env?.NODE_ENV ? process.env.NODE_ENV === \"production\" : !1, _ = w(), L = typeof window < \"u\" && window.matchMedia?.(\"(prefers-color-scheme: dark)\").matches, b = {\n debug: { bg: \"#616161\", border: \"#424242\", color: \"#fff\", icon: \"☕\", symbol: \"🅳\" },\n error: { bg: \"#d32f2f\", border: \"#c62828\", color: \"#fff\", icon: \"✘\", symbol: \"🅴\" },\n group: { bg: \"#546e7a\", border: \"#455a64\", color: \"#fff\", icon: \"⚭\", symbol: \"🅶\" },\n info: { bg: \"#1976d2\", border: \"#1565c0\", color: \"#fff\", icon: \"ℹ\", symbol: \"🅸\" },\n ns: L ? { bg: \"#fafafa\", border: \"#c7c7c7\", color: \"#000\" } : { bg: \"#424242\", border: \"#212121\", color: \"#fff\" },\n success: { bg: \"#689f38\", border: \"#558b2f\", color: \"#fff\", icon: \"✔\", symbol: \"🆂\" },\n time: { bg: \"#0097a7\", border: \"#00838f\", color: \"#fff\", icon: \"⏲\", symbol: \"🆃\" },\n trace: { bg: \"#d81b60\", border: \"#c2185b\", color: \"#fff\", icon: \"⛢\", symbol: \"🆃\" },\n warn: { bg: \"#ffb300\", border: \"#ffa000\", color: \"#fff\", icon: \"⚠\", symbol: \"🆆\" }\n}, l = {\n debug: 0,\n trace: 1,\n time: 2,\n table: 3,\n info: 4,\n success: 5,\n warn: 6,\n error: 7,\n off: 8\n}, r = {\n environment: !0,\n logLevel: \"debug\",\n namespace: \"\",\n remote: { handler: void 0, logLevel: \"off\" },\n timestamp: !0,\n variant: \"symbol\"\n}, a = (e) => l[r.logLevel] <= l[e], u = () => (/* @__PURE__ */ new Date()).toISOString().slice(11, 23), d = () => _ ? \"🄿\" : \"🄳\", x = (e, o) => {\n r.remote.handler && l[r.remote.logLevel] <= l[e] && r.remote.handler(e, ...o);\n}, g = (e) => v[e] || e, m = \"border: 1px solid\", p = \"border-radius: 4px\", h = \"border-radius: 8px; font: italic small-caps bold 12px; font-weight: lighter\", f = (e, o = \"\") => {\n const { bg: t, color: c, border: n } = b[e], s = `color: ${t}; ${m} ${n}; ${p}`;\n switch (r.variant) {\n case \"symbol\":\n return `${s}; padding: 1px 1px 0${o}`;\n case \"icon\":\n return `${s}; padding: 0 3px${o}`;\n default:\n return `background: ${t}; color: ${c}; ${m} ${n}; ${p}; font-weight: bold; padding: 0 3px${o}`;\n }\n}, E = (e) => {\n const o = b[e], { variant: t } = r;\n return t === \"text\" || !o[t] ? e.toUpperCase() : o[t];\n};\nfunction D(e) {\n const { namespace: o, timestamp: t, environment: c } = r;\n let n = `%c${E(e)}%c`;\n const s = [f(e), \"\"];\n return o && (n += ` %c${o}%c`, s.push(f(\"ns\", `; ${h}`), \"\")), c && (n += ` %c${d()}%c`, s.push(\"color: darkgray\", \"\")), t && (n += ` %c${u()}%c`, s.push(\"color: gray\", \"\")), { format: n, parts: s };\n}\nconst i = (e, ...o) => {\n if (typeof window > \"u\") {\n const s = console[g(e)];\n s(`${E(e)} | ${d()} |`, ...o);\n return;\n }\n if (!a(e)) return;\n const { format: t, parts: c } = D(e), n = console[g(e)];\n n(t, ...c, ...o), x(e, o);\n}, O = (e) => {\n const o = Math.floor(Date.now() - e);\n return o ? `${o}ms` : \"\";\n}, y = {\n /**\n * Asserts a condition and logs an error if it's false.\n */\n assert: (e, o, t) => console.assert(e, o, t),\n debug: (...e) => i(\"debug\", ...e),\n error: (...e) => i(\"error\", ...e),\n /**\n * Gets the current log level.\n */\n getLevel: () => r.logLevel,\n /**\n * Gets the current namespace prefix.\n */\n getPrefix: () => r.namespace,\n /**\n * Gets whether timestamps are shown.\n */\n getTimestamp: () => r.timestamp,\n /**\n * Creates a collapsed group in the console.\n */\n groupCollapsed: (e, o = \"GROUP\", t = Date.now()) => {\n if (!a(\"success\")) return;\n const c = O(t), n = d(), s = r.timestamp ? u() : \"\";\n console.groupCollapsed(\n `%c${o}%c${r.namespace}%c${n}%c${s}%c${c}%c${e}`,\n f(\"group\", \"; margin-right: 6px; padding: 1px 3px 0\"),\n f(\"ns\", `; ${h}; margin-right: 6px`),\n \"color: darkgray; margin-right: 6px\",\n \"color: gray; font-weight: lighter; margin-right: 6px\",\n \"color: gray; font-weight: lighter; margin-right: 6px\",\n \"color: inherit; font-weight: lighter\"\n );\n },\n /**\n * Ends the current console group.\n */\n groupEnd: () => {\n a(\"success\") && console.groupEnd();\n },\n info: (...e) => i(\"info\", ...e),\n /**\n * Initializes Logit with custom options.\n */\n initialise: (e) => {\n Object.assign(r, e);\n },\n /**\n * Sets the minimum log level to display.\n */\n setLogLevel: (e) => {\n r.logLevel = e;\n },\n /**\n * Sets the namespace prefix for all logs.\n */\n setPrefix: (e) => {\n r.namespace = e;\n },\n /**\n * Configures remote logging options.\n */\n setRemote: (e) => {\n r.remote = e;\n },\n /**\n * Sets the log level for remote logging.\n */\n setRemoteLogLevel: (e) => {\n r.remote.logLevel = e;\n },\n /**\n * Sets the display variant (text, icon, or symbol).\n */\n setVariant: (e) => {\n r.variant = e;\n },\n /**\n * Shows or hides the environment indicator.\n */\n showEnvironment: (e) => {\n r.environment = e;\n },\n /**\n * Shows or hides timestamps in logs.\n */\n showTimestamp: (e) => {\n r.timestamp = e;\n },\n success: (...e) => i(\"success\", ...e),\n /**\n * Displays data in a table format.\n */\n table: (...e) => {\n a(\"table\") && console.table(...e);\n },\n /**\n * Starts a timer with the given label.\n */\n time: (e) => {\n a(\"time\") && console.time(e);\n },\n /**\n * Ends a timer with the given label.\n */\n timeEnd: (e) => {\n a(\"time\") && console.timeEnd(e);\n },\n trace: (...e) => i(\"trace\", ...e),\n warn: (...e) => i(\"warn\", ...e)\n};\nexport {\n y as Logit\n};\n//# sourceMappingURL=logit.js.map\n"],"names":["$","w","_","a","d","x","g","m","h","E","D","i","O","y"],"mappings":"gFAAA,MAAMA,EAAI,CAAA,EACJ,EAAI,CACR,MAAO,MACP,QAAS,KACX,EAAGC,EAAI,IAAM,OAAO,OAAS,KAAOD,GAAG,SAAW,GAAK,OAAO,QAAU,KAAO,QAAQ,KAAK,SAAW,QAAQ,IAAI,WAAa,aAAe,GAAIE,EAAID,EAAC,EAAI,EAAI,OAAO,OAAS,KAAO,OAAO,aAAa,8BAA8B,EAAE,QAAS,EAAI,CACtP,MAAO,CAAE,GAAI,UAAW,OAAQ,UAAW,MAAO,OAAQ,KAAM,IAAK,OAAQ,IAAI,EACjF,MAAO,CAAE,GAAI,UAAW,OAAQ,UAAW,MAAO,OAAQ,KAAM,IAAK,OAAQ,IAAI,EACjF,MAAO,CAAE,GAAI,UAAW,OAAQ,UAAW,MAAO,OAAQ,KAAM,IAAK,OAAQ,IAAI,EACjF,KAAM,CAAE,GAAI,UAAW,OAAQ,UAAW,MAAO,OAAQ,KAAM,IAAK,OAAQ,IAAI,EAChF,GAAI,EAAI,CAAE,GAAI,UAAW,OAAQ,UAAW,MAAO,MAAM,EAAK,CAAE,GAAI,UAAW,OAAQ,UAAW,MAAO,MAAM,EAC/G,QAAS,CAAE,GAAI,UAAW,OAAQ,UAAW,MAAO,OAAQ,KAAM,IAAK,OAAQ,IAAI,EACnF,KAAM,CAAE,GAAI,UAAW,OAAQ,UAAW,MAAO,OAAQ,KAAM,IAAK,OAAQ,IAAI,EAChF,MAAO,CAAE,GAAI,UAAW,OAAQ,UAAW,MAAO,OAAQ,KAAM,IAAK,OAAQ,IAAI,EACjF,KAAM,CAAE,GAAI,UAAW,OAAQ,UAAW,MAAO,OAAQ,KAAM,IAAK,OAAQ,IAAI,CAClF,EAAG,EAAI,CACL,MAAO,EACP,MAAO,EACP,KAAM,EACN,MAAO,EACP,KAAM,EACN,QAAS,EACT,KAAM,EACN,MAAO,EACP,IAAK,CACP,EAAG,EAAI,CACL,YAAa,GACb,SAAU,QACV,UAAW,GACX,OAAQ,CAAE,QAAS,OAAQ,SAAU,KAAK,EAC1C,UAAW,GACX,QAAS,QACX,EAAGE,EAAK,GAAM,EAAE,EAAE,QAAQ,GAAK,EAAE,CAAC,EAAG,EAAI,IAAuB,IAAI,KAAI,EAAI,YAAW,EAAG,MAAM,GAAI,EAAE,EAAGC,EAAI,IAAMF,EAAI,KAAO,KAAMG,EAAI,CAAC,EAAG,IAAM,CAChJ,EAAE,OAAO,SAAW,EAAE,EAAE,OAAO,QAAQ,GAAK,EAAE,CAAC,GAAK,EAAE,OAAO,QAAQ,EAAG,GAAG,CAAC,CAC9E,EAAGC,EAAK,GAAM,EAAE,CAAC,GAAK,EAAGC,EAAI,oBAAqB,EAAI,qBAAsBC,EAAI,8EAA+E,EAAI,CAAC,EAAG,EAAI,KAAO,CAChL,KAAM,CAAE,GAAI,EAAG,MAAO,EAAG,OAAQ,GAAM,EAAE,CAAC,EAAG,EAAI,UAAU,CAAC,KAAKD,CAAC,IAAI,CAAC,KAAK,CAAC,GAC7E,OAAQ,EAAE,QAAO,CACf,IAAK,SACH,MAAO,GAAG,CAAC,uBAAuB,CAAC,GACrC,IAAK,OACH,MAAO,GAAG,CAAC,mBAAmB,CAAC,GACjC,QACE,MAAO,eAAe,CAAC,YAAY,CAAC,KAAKA,CAAC,IAAI,CAAC,KAAK,CAAC,sCAAsC,CAAC,EAClG,CACA,EAAGE,EAAK,GAAM,CACZ,MAAM,EAAI,EAAE,CAAC,EAAG,CAAE,QAAS,CAAC,EAAK,EACjC,OAAO,IAAM,QAAU,CAAC,EAAE,CAAC,EAAI,EAAE,YAAW,EAAK,EAAE,CAAC,CACtD,EACA,SAASC,EAAE,EAAG,CACZ,KAAM,CAAE,UAAW,EAAG,UAAW,EAAG,YAAa,CAAC,EAAK,EACvD,IAAI,EAAI,KAAKD,EAAE,CAAC,CAAC,KACjB,MAAM,EAAI,CAAC,EAAE,CAAC,EAAG,EAAE,EACnB,OAAO,IAAM,GAAK,MAAM,CAAC,KAAM,EAAE,KAAK,EAAE,KAAM,KAAKD,CAAC,EAAE,EAAG,EAAE,GAAI,IAAM,GAAK,MAAMJ,EAAC,CAAE,KAAM,EAAE,KAAK,kBAAmB,EAAE,GAAI,IAAM,GAAK,MAAM,EAAC,CAAE,KAAM,EAAE,KAAK,cAAe,EAAE,GAAI,CAAE,OAAQ,EAAG,MAAO,CAAC,CACtM,CACK,MAACO,EAAI,CAAC,KAAM,IAAM,CACrB,GAAI,OAAO,OAAS,IAAK,CACvB,MAAM,EAAI,QAAQL,EAAE,CAAC,CAAC,EACtB,EAAE,GAAGG,EAAE,CAAC,CAAC,MAAML,GAAG,KAAM,GAAG,CAAC,EAC5B,MACF,CACA,GAAI,CAACD,EAAE,CAAC,EAAG,OACX,KAAM,CAAE,OAAQ,EAAG,MAAO,CAAC,EAAKO,EAAE,CAAC,EAAG,EAAI,QAAQJ,EAAE,CAAC,CAAC,EACtD,EAAE,EAAG,GAAG,EAAG,GAAG,CAAC,EAAGD,EAAE,EAAG,CAAC,CAC1B,EAAGO,EAAK,GAAM,CACZ,MAAM,EAAI,KAAK,MAAM,KAAK,IAAG,EAAK,CAAC,EACnC,OAAO,EAAI,GAAG,CAAC,KAAO,EACxB,EAAGC,EAAI,CAIL,OAAQ,CAAC,EAAG,EAAG,IAAM,QAAQ,OAAO,EAAG,EAAG,CAAC,EAC3C,MAAO,IAAI,IAAMF,EAAE,QAAS,GAAG,CAAC,EAChC,MAAO,IAAI,IAAMA,EAAE,QAAS,GAAG,CAAC,EAIhC,SAAU,IAAM,EAAE,SAIlB,UAAW,IAAM,EAAE,UAInB,aAAc,IAAM,EAAE,UAItB,eAAgB,CAAC,EAAG,EAAI,QAAS,EAAI,KAAK,QAAU,CAClD,GAAI,CAACR,EAAE,SAAS,EAAG,OACnB,MAAM,EAAIS,EAAE,CAAC,EAAG,EAAIR,IAAK,EAAI,EAAE,UAAY,EAAC,EAAK,GACjD,QAAQ,eACN,KAAK,CAAC,KAAK,EAAE,SAAS,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAC9C,EAAE,QAAS,yCAAyC,EACpD,EAAE,KAAM,KAAKI,CAAC,qBAAqB,EACnC,qCACA,uDACA,uDACA,sCACN,CACE,EAIA,SAAU,IAAM,CACdL,EAAE,SAAS,GAAK,QAAQ,SAAQ,CAClC,EACA,KAAM,IAAI,IAAMQ,EAAE,OAAQ,GAAG,CAAC,EAI9B,WAAa,GAAM,CACjB,OAAO,OAAO,EAAG,CAAC,CACpB,EAIA,YAAc,GAAM,CAClB,EAAE,SAAW,CACf,EAIA,UAAY,GAAM,CAChB,EAAE,UAAY,CAChB,EAIA,UAAY,GAAM,CAChB,EAAE,OAAS,CACb,EAIA,kBAAoB,GAAM,CACxB,EAAE,OAAO,SAAW,CACtB,EAIA,WAAa,GAAM,CACjB,EAAE,QAAU,CACd,EAIA,gBAAkB,GAAM,CACtB,EAAE,YAAc,CAClB,EAIA,cAAgB,GAAM,CACpB,EAAE,UAAY,CAChB,EACA,QAAS,IAAI,IAAMA,EAAE,UAAW,GAAG,CAAC,EAIpC,MAAO,IAAI,IAAM,CACfR,EAAE,OAAO,GAAK,QAAQ,MAAM,GAAG,CAAC,CAClC,EAIA,KAAO,GAAM,CACXA,EAAE,MAAM,GAAK,QAAQ,KAAK,CAAC,CAC7B,EAIA,QAAU,GAAM,CACdA,EAAE,MAAM,GAAK,QAAQ,QAAQ,CAAC,CAChC,EACA,MAAO,IAAI,IAAMQ,EAAE,QAAS,GAAG,CAAC,EAChC,KAAM,IAAI,IAAMA,EAAE,OAAQ,GAAG,CAAC,CAChC"}
@@ -1,17 +1,17 @@
1
- const h = {}, w = {
1
+ const w = {}, v = {
2
2
  debug: "log",
3
3
  success: "log"
4
- }, $ = () => h?.NODE_ENV === "production", x = typeof window < "u" && window.matchMedia?.("(prefers-color-scheme: dark)").matches, m = {
4
+ }, x = () => typeof window < "u" && w?.NODE_ENV ? !1 : typeof process < "u" && process.env?.NODE_ENV ? process.env.NODE_ENV === "production" : !1, y = x(), L = typeof window < "u" && window.matchMedia?.("(prefers-color-scheme: dark)").matches, b = {
5
5
  debug: { bg: "#616161", border: "#424242", color: "#fff", icon: "☕", symbol: "🅳" },
6
6
  error: { bg: "#d32f2f", border: "#c62828", color: "#fff", icon: "✘", symbol: "🅴" },
7
7
  group: { bg: "#546e7a", border: "#455a64", color: "#fff", icon: "⚭", symbol: "🅶" },
8
8
  info: { bg: "#1976d2", border: "#1565c0", color: "#fff", icon: "ℹ", symbol: "🅸" },
9
- ns: x ? { bg: "#fafafa", border: "#c7c7c7", color: "#000" } : { bg: "#424242", border: "#212121", color: "#fff" },
9
+ ns: L ? { bg: "#fafafa", border: "#c7c7c7", color: "#000" } : { bg: "#424242", border: "#212121", color: "#fff" },
10
10
  success: { bg: "#689f38", border: "#558b2f", color: "#fff", icon: "✔", symbol: "🆂" },
11
11
  time: { bg: "#0097a7", border: "#00838f", color: "#fff", icon: "⏲", symbol: "🆃" },
12
12
  trace: { bg: "#d81b60", border: "#c2185b", color: "#fff", icon: "⛢", symbol: "🆃" },
13
13
  warn: { bg: "#ffb300", border: "#ffa000", color: "#fff", icon: "⚠", symbol: "🆆" }
14
- }, f = {
14
+ }, l = {
15
15
  debug: 0,
16
16
  trace: 1,
17
17
  time: 2,
@@ -21,158 +21,160 @@ const h = {}, w = {
21
21
  warn: 6,
22
22
  error: 7,
23
23
  off: 8
24
- }, o = {
24
+ }, r = {
25
25
  environment: !0,
26
26
  logLevel: "debug",
27
27
  namespace: "",
28
28
  remote: { handler: void 0, logLevel: "off" },
29
29
  timestamp: !0,
30
30
  variant: "symbol"
31
- }, g = (e) => f[o.logLevel] <= f[e], u = () => (/* @__PURE__ */ new Date()).toISOString().slice(11, 23), p = () => $() ? "🄿" : "🄳", v = (e, r) => {
32
- o.remote.handler && f[o.remote.logLevel] <= f[e] && o.remote.handler(e, ...r);
33
- }, b = (e) => w[e] || e, d = (e, r = "") => {
34
- const { bg: t, color: s, border: n } = m[e], c = `color: ${t}; border: 1px solid ${n}; border-radius: 4px;`;
35
- switch (o.variant) {
31
+ }, i = (e) => l[r.logLevel] <= l[e], u = () => (/* @__PURE__ */ new Date()).toISOString().slice(11, 23), g = () => y ? "🄿" : "🄳", E = (e, o) => {
32
+ r.remote.handler && l[r.remote.logLevel] <= l[e] && r.remote.handler(e, ...o);
33
+ }, m = (e) => v[e] || e, d = "border: 1px solid", p = "border-radius: 4px", $ = "border-radius: 8px; font: italic small-caps bold 12px; font-weight: lighter", f = (e, o = "") => {
34
+ const { bg: t, color: c, border: n } = b[e], s = `color: ${t}; ${d} ${n}; ${p}`;
35
+ switch (r.variant) {
36
36
  case "symbol":
37
- return `${c} padding: 1px 1px 0;${r};`;
37
+ return `${s}; padding: 1px 1px 0${o}`;
38
38
  case "icon":
39
- return `${c} padding: 0 3px;${r};`;
39
+ return `${s}; padding: 0 3px${o}`;
40
40
  default:
41
- return `background: ${t}; color: ${s}; border: 1px solid ${n}; border-radius: 4px; font-weight: bold; padding: 0 3px;${r}`;
41
+ return `background: ${t}; color: ${c}; ${d} ${n}; ${p}; font-weight: bold; padding: 0 3px${o}`;
42
42
  }
43
+ }, h = (e) => {
44
+ const o = b[e], { variant: t } = r;
45
+ return t === "text" || !o[t] ? e.toUpperCase() : o[t];
43
46
  };
44
- function y(e) {
45
- const r = m[e], { namespace: t, variant: s, timestamp: n, environment: c } = o;
46
- let a = `%c${r[s] ?? e.toUpperCase()}%c`;
47
- const i = [d(e), ""];
48
- return t && (a += ` %c${t}%c`, i.push(d("ns", " border-radius: 8px; font: italic small-caps bold 12px; font-weight: lighter;"), "")), c && (a += ` %c${p()}%c`, i.push("color: darkgray;", "")), n && (a += ` %c${u()}%c`, i.push("color: gray;", "")), { format: a, parts: i };
47
+ function D(e) {
48
+ const { namespace: o, timestamp: t, environment: c } = r;
49
+ let n = `%c${h(e)}%c`;
50
+ const s = [f(e), ""];
51
+ return o && (n += ` %c${o}%c`, s.push(f("ns", `; ${$}`), "")), c && (n += ` %c${g()}%c`, s.push("color: darkgray", "")), t && (n += ` %c${u()}%c`, s.push("color: gray", "")), { format: n, parts: s };
49
52
  }
50
- const l = (e, ...r) => {
53
+ const a = (e, ...o) => {
51
54
  if (typeof window > "u") {
52
- const c = m[e], { variant: a } = o, i = console[b(e)];
53
- i(`${c[a] ?? e.toUpperCase()} | ${p()} |`, ...r);
55
+ const s = console[m(e)];
56
+ s(`${h(e)} | ${g()} |`, ...o);
54
57
  return;
55
58
  }
56
- if (!g(e)) return;
57
- const { format: t, parts: s } = y(e), n = console[b(e)];
58
- n(t, ...s, ...r), v(e, r);
59
- }, L = (e) => {
60
- const r = Math.floor(Date.now() - e);
61
- return r ? `${r}ms` : "";
62
- }, E = {
59
+ if (!i(e)) return;
60
+ const { format: t, parts: c } = D(e), n = console[m(e)];
61
+ n(t, ...c, ...o), E(e, o);
62
+ }, O = (e) => {
63
+ const o = Math.floor(Date.now() - e);
64
+ return o ? `${o}ms` : "";
65
+ }, N = {
63
66
  /**
64
67
  * Asserts a condition and logs an error if it's false.
65
68
  */
66
- assert: (e, r, t) => console.assert(e, r, t),
67
- debug: (...e) => l("debug", ...e),
68
- error: (...e) => l("error", ...e),
69
+ assert: (e, o, t) => console.assert(e, o, t),
70
+ debug: (...e) => a("debug", ...e),
71
+ error: (...e) => a("error", ...e),
69
72
  /**
70
73
  * Gets the current log level.
71
74
  */
72
- getLevel: () => o.logLevel,
75
+ getLevel: () => r.logLevel,
73
76
  /**
74
77
  * Gets the current namespace prefix.
75
78
  */
76
- getPrefix: () => o.namespace,
79
+ getPrefix: () => r.namespace,
77
80
  /**
78
81
  * Gets whether timestamps are shown.
79
82
  */
80
- getTimestamp: () => o.timestamp,
83
+ getTimestamp: () => r.timestamp,
81
84
  /**
82
85
  * Creates a collapsed group in the console.
83
86
  */
84
- groupCollapsed: (e, r = "GROUP", t = Date.now()) => {
85
- if (!g("success")) return;
86
- const s = L(t), n = p();
87
+ groupCollapsed: (e, o = "GROUP", t = Date.now()) => {
88
+ if (!i("success")) return;
89
+ const c = O(t), n = g(), s = r.timestamp ? u() : "";
87
90
  console.groupCollapsed(
88
- `%c${r}%c${o.namespace}%c${n}%c${o.timestamp ? u() : ""}%c${s}%c${e}`,
89
- d("group", "margin-right: 6px; padding: 1px 3px 0"),
90
- d("ns", " border-radius: 8px; font: italic small-caps bold 12px; font-weight: lighter;margin-right: 6px;"),
91
- "color: darkgray; margin-right: 6px;",
92
- "color: gray;font-weight: lighter;margin-right: 6px;",
93
- "color: gray; font-weight: lighter;margin-right: 6px;",
94
- "color: inherit;font-weight: lighter;"
91
+ `%c${o}%c${r.namespace}%c${n}%c${s}%c${c}%c${e}`,
92
+ f("group", "; margin-right: 6px; padding: 1px 3px 0"),
93
+ f("ns", `; ${$}; margin-right: 6px`),
94
+ "color: darkgray; margin-right: 6px",
95
+ "color: gray; font-weight: lighter; margin-right: 6px",
96
+ "color: gray; font-weight: lighter; margin-right: 6px",
97
+ "color: inherit; font-weight: lighter"
95
98
  );
96
99
  },
97
100
  /**
98
101
  * Ends the current console group.
99
102
  */
100
103
  groupEnd: () => {
101
- g("success") && console.groupEnd();
104
+ i("success") && console.groupEnd();
102
105
  },
103
- info: (...e) => l("info", ...e),
106
+ info: (...e) => a("info", ...e),
104
107
  /**
105
108
  * Initializes Logit with custom options.
106
109
  */
107
110
  initialise: (e) => {
108
- Object.assign(o, e);
111
+ Object.assign(r, e);
109
112
  },
110
113
  /**
111
114
  * Sets the minimum log level to display.
112
115
  */
113
116
  setLogLevel: (e) => {
114
- o.logLevel = e;
117
+ r.logLevel = e;
115
118
  },
116
119
  /**
117
120
  * Sets the namespace prefix for all logs.
118
121
  */
119
122
  setPrefix: (e) => {
120
- o.namespace = e;
123
+ r.namespace = e;
121
124
  },
122
125
  /**
123
126
  * Configures remote logging options.
124
127
  */
125
128
  setRemote: (e) => {
126
- o.remote = e;
129
+ r.remote = e;
127
130
  },
128
131
  /**
129
132
  * Sets the log level for remote logging.
130
133
  */
131
134
  setRemoteLogLevel: (e) => {
132
- o.remote.logLevel = e;
135
+ r.remote.logLevel = e;
133
136
  },
134
137
  /**
135
138
  * Sets the display variant (text, icon, or symbol).
136
139
  */
137
140
  setVariant: (e) => {
138
- o.variant = e;
141
+ r.variant = e;
139
142
  },
140
143
  /**
141
144
  * Shows or hides the environment indicator.
142
145
  */
143
146
  showEnvironment: (e) => {
144
- o.environment = e;
147
+ r.environment = e;
145
148
  },
146
149
  /**
147
150
  * Shows or hides timestamps in logs.
148
151
  */
149
152
  showTimestamp: (e) => {
150
- o.timestamp = e;
153
+ r.timestamp = e;
151
154
  },
152
- success: (...e) => l("success", ...e),
155
+ success: (...e) => a("success", ...e),
153
156
  /**
154
157
  * Displays data in a table format.
155
158
  */
156
159
  table: (...e) => {
157
- g("table") && console.table(...e);
160
+ i("table") && console.table(...e);
158
161
  },
159
162
  /**
160
163
  * Starts a timer with the given label.
161
164
  */
162
165
  time: (e) => {
163
- g("time") && console.time(e);
166
+ i("time") && console.time(e);
164
167
  },
165
168
  /**
166
169
  * Ends a timer with the given label.
167
170
  */
168
171
  timeEnd: (e) => {
169
- g("time") && console.timeEnd(e);
172
+ i("time") && console.timeEnd(e);
170
173
  },
171
- trace: (...e) => l("trace", ...e),
172
- warn: (...e) => l("warn", ...e)
174
+ trace: (...e) => a("trace", ...e),
175
+ warn: (...e) => a("warn", ...e)
173
176
  };
174
- typeof window < "u" && (window.Logit = E);
175
177
  export {
176
- E as Logit
178
+ N as Logit
177
179
  };
178
180
  //# sourceMappingURL=logit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logit.js","sources":["../../../../logit/dist/logit.js"],"sourcesContent":["const h = {};\nconst w = {\n debug: \"log\",\n success: \"log\"\n}, v = () => h?.NODE_ENV === \"production\", $ = typeof window < \"u\" && window.matchMedia?.(\"(prefers-color-scheme: dark)\").matches, m = {\n debug: { bg: \"#616161\", border: \"#424242\", color: \"#fff\", icon: \"☕\", symbol: \"🅳\" },\n error: { bg: \"#d32f2f\", border: \"#c62828\", color: \"#fff\", icon: \"✘\", symbol: \"🅴\" },\n group: { bg: \"#546e7a\", border: \"#455a64\", color: \"#fff\", icon: \"⚭\", symbol: \"🅶\" },\n info: { bg: \"#1976d2\", border: \"#1565c0\", color: \"#fff\", icon: \"ℹ\", symbol: \"🅸\" },\n ns: $ ? { bg: \"#fafafa\", border: \"#c7c7c7\", color: \"#000\" } : { bg: \"#424242\", border: \"#212121\", color: \"#fff\" },\n success: { bg: \"#689f38\", border: \"#558b2f\", color: \"#fff\", icon: \"✔\", symbol: \"🆂\" },\n time: { bg: \"#0097a7\", border: \"#00838f\", color: \"#fff\", icon: \"⏲\", symbol: \"🆃\" },\n trace: { bg: \"#d81b60\", border: \"#c2185b\", color: \"#fff\", icon: \"⛢\", symbol: \"🆃\" },\n warn: { bg: \"#ffb300\", border: \"#ffa000\", color: \"#fff\", icon: \"⚠\", symbol: \"🆆\" }\n}, f = {\n debug: 0,\n trace: 1,\n time: 2,\n table: 3,\n info: 4,\n success: 5,\n warn: 6,\n error: 7,\n off: 8\n}, e = {\n environment: !0,\n logLevel: \"debug\",\n namespace: \"\",\n remote: { handler: void 0, logLevel: \"off\" },\n timestamp: !0,\n variant: \"symbol\"\n}, d = (o) => f[e.logLevel] <= f[o], u = () => (/* @__PURE__ */ new Date()).toISOString().slice(11, 23), b = () => v() ? \"🄿\" : \"🄳\", x = (o, r) => {\n e.remote.handler && f[e.remote.logLevel] <= f[o] && e.remote.handler(o, ...r);\n}, p = (o) => w[o] || o, g = (o, r = \"\") => {\n const { bg: t, color: s, border: n } = m[o], c = `color: ${t}; border: 1px solid ${n}; border-radius: 4px;`;\n switch (e.variant) {\n case \"symbol\":\n return `${c} padding: 1px 1px 0;${r};`;\n case \"icon\":\n return `${c} padding: 0 3px;${r};`;\n default:\n return `background: ${t}; color: ${s}; border: 1px solid ${n}; border-radius: 4px; font-weight: bold; padding: 0 3px;${r}`;\n }\n};\nfunction L(o) {\n const r = m[o], { namespace: t, variant: s, timestamp: n, environment: c } = e;\n let i = `%c${r[s] ?? o.toUpperCase()}%c`;\n const a = [g(o), \"\"];\n return t && (i += ` %c${t}%c`, a.push(g(\"ns\", \" border-radius: 8px; font: italic small-caps bold 12px; font-weight: lighter;\"), \"\")), c && (i += ` %c${b()}%c`, a.push(\"color: darkgray;\", \"\")), n && (i += ` %c${u()}%c`, a.push(\"color: gray;\", \"\")), { format: i, parts: a };\n}\nconst l = (o, ...r) => {\n if (typeof window > \"u\") {\n const c = m[o], { variant: i } = e, a = console[p(o)];\n a(`${c[i] ?? o.toUpperCase()} | ${b()} |`, ...r);\n return;\n }\n if (!d(o)) return;\n const { format: t, parts: s } = L(o), n = console[p(o)];\n n(t, ...s, ...r), x(o, r);\n}, E = (o) => {\n const r = Math.floor(Date.now() - o);\n return r ? `${r}ms` : \"\";\n}, _ = {\n /**\n * Asserts a condition and logs an error if it's false.\n */\n assert: (o, r, t) => console.assert(o, r, t),\n debug: (...o) => l(\"debug\", ...o),\n error: (...o) => l(\"error\", ...o),\n /**\n * Gets the current log level.\n */\n getLevel: () => e.logLevel,\n /**\n * Gets the current namespace prefix.\n */\n getPrefix: () => e.namespace,\n /**\n * Gets whether timestamps are shown.\n */\n getTimestamp: () => e.timestamp,\n /**\n * Creates a collapsed group in the console.\n */\n groupCollapsed: (o, r = \"GROUP\", t = Date.now()) => {\n if (!d(\"success\")) return;\n const s = E(t), n = b();\n console.groupCollapsed(\n `%c${r}%c${e.namespace}%c${n}%c${e.timestamp ? u() : \"\"}%c${s}%c${o}`,\n g(\"group\", \"margin-right: 6px; padding: 1px 3px 0\"),\n g(\"ns\", \" border-radius: 8px; font: italic small-caps bold 12px; font-weight: lighter;margin-right: 6px;\"),\n \"color: darkgray; margin-right: 6px;\",\n \"color: gray;font-weight: lighter;margin-right: 6px;\",\n \"color: gray; font-weight: lighter;margin-right: 6px;\",\n \"color: inherit;font-weight: lighter;\"\n );\n },\n /**\n * Ends the current console group.\n */\n groupEnd: () => {\n d(\"success\") && console.groupEnd();\n },\n info: (...o) => l(\"info\", ...o),\n /**\n * Initializes Logit with custom options.\n */\n initialise: (o) => {\n Object.assign(e, o);\n },\n /**\n * Sets the minimum log level to display.\n */\n setLogLevel: (o) => {\n e.logLevel = o;\n },\n /**\n * Sets the namespace prefix for all logs.\n */\n setPrefix: (o) => {\n e.namespace = o;\n },\n /**\n * Configures remote logging options.\n */\n setRemote: (o) => {\n e.remote = o;\n },\n /**\n * Sets the log level for remote logging.\n */\n setRemoteLogLevel: (o) => {\n e.remote.logLevel = o;\n },\n /**\n * Sets the display variant (text, icon, or symbol).\n */\n setVariant: (o) => {\n e.variant = o;\n },\n /**\n * Shows or hides the environment indicator.\n */\n showEnvironment: (o) => {\n e.environment = o;\n },\n /**\n * Shows or hides timestamps in logs.\n */\n showTimestamp: (o) => {\n e.timestamp = o;\n },\n success: (...o) => l(\"success\", ...o),\n /**\n * Displays data in a table format.\n */\n table: (...o) => {\n d(\"table\") && console.table(...o);\n },\n /**\n * Starts a timer with the given label.\n */\n time: (o) => {\n d(\"time\") && console.time(o);\n },\n /**\n * Ends a timer with the given label.\n */\n timeEnd: (o) => {\n d(\"time\") && console.timeEnd(o);\n },\n trace: (...o) => l(\"trace\", ...o),\n warn: (...o) => l(\"warn\", ...o)\n};\ntypeof window < \"u\" && (window.Logit = _);\nexport {\n _ as Logit\n};\n//# sourceMappingURL=logit.js.map\n"],"names":["v","$","e","d","o","b","x","p","g","L","i","a","E","_"],"mappings":"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"}
1
+ {"version":3,"file":"logit.js","sources":["../../../../logit/dist/logit.js"],"sourcesContent":["const $ = {};\nconst v = {\n debug: \"log\",\n success: \"log\"\n}, w = () => typeof window < \"u\" && $?.NODE_ENV ? !1 : typeof process < \"u\" && process.env?.NODE_ENV ? process.env.NODE_ENV === \"production\" : !1, _ = w(), L = typeof window < \"u\" && window.matchMedia?.(\"(prefers-color-scheme: dark)\").matches, b = {\n debug: { bg: \"#616161\", border: \"#424242\", color: \"#fff\", icon: \"☕\", symbol: \"🅳\" },\n error: { bg: \"#d32f2f\", border: \"#c62828\", color: \"#fff\", icon: \"✘\", symbol: \"🅴\" },\n group: { bg: \"#546e7a\", border: \"#455a64\", color: \"#fff\", icon: \"⚭\", symbol: \"🅶\" },\n info: { bg: \"#1976d2\", border: \"#1565c0\", color: \"#fff\", icon: \"ℹ\", symbol: \"🅸\" },\n ns: L ? { bg: \"#fafafa\", border: \"#c7c7c7\", color: \"#000\" } : { bg: \"#424242\", border: \"#212121\", color: \"#fff\" },\n success: { bg: \"#689f38\", border: \"#558b2f\", color: \"#fff\", icon: \"✔\", symbol: \"🆂\" },\n time: { bg: \"#0097a7\", border: \"#00838f\", color: \"#fff\", icon: \"⏲\", symbol: \"🆃\" },\n trace: { bg: \"#d81b60\", border: \"#c2185b\", color: \"#fff\", icon: \"⛢\", symbol: \"🆃\" },\n warn: { bg: \"#ffb300\", border: \"#ffa000\", color: \"#fff\", icon: \"⚠\", symbol: \"🆆\" }\n}, l = {\n debug: 0,\n trace: 1,\n time: 2,\n table: 3,\n info: 4,\n success: 5,\n warn: 6,\n error: 7,\n off: 8\n}, r = {\n environment: !0,\n logLevel: \"debug\",\n namespace: \"\",\n remote: { handler: void 0, logLevel: \"off\" },\n timestamp: !0,\n variant: \"symbol\"\n}, a = (e) => l[r.logLevel] <= l[e], u = () => (/* @__PURE__ */ new Date()).toISOString().slice(11, 23), d = () => _ ? \"🄿\" : \"🄳\", x = (e, o) => {\n r.remote.handler && l[r.remote.logLevel] <= l[e] && r.remote.handler(e, ...o);\n}, g = (e) => v[e] || e, m = \"border: 1px solid\", p = \"border-radius: 4px\", h = \"border-radius: 8px; font: italic small-caps bold 12px; font-weight: lighter\", f = (e, o = \"\") => {\n const { bg: t, color: c, border: n } = b[e], s = `color: ${t}; ${m} ${n}; ${p}`;\n switch (r.variant) {\n case \"symbol\":\n return `${s}; padding: 1px 1px 0${o}`;\n case \"icon\":\n return `${s}; padding: 0 3px${o}`;\n default:\n return `background: ${t}; color: ${c}; ${m} ${n}; ${p}; font-weight: bold; padding: 0 3px${o}`;\n }\n}, E = (e) => {\n const o = b[e], { variant: t } = r;\n return t === \"text\" || !o[t] ? e.toUpperCase() : o[t];\n};\nfunction D(e) {\n const { namespace: o, timestamp: t, environment: c } = r;\n let n = `%c${E(e)}%c`;\n const s = [f(e), \"\"];\n return o && (n += ` %c${o}%c`, s.push(f(\"ns\", `; ${h}`), \"\")), c && (n += ` %c${d()}%c`, s.push(\"color: darkgray\", \"\")), t && (n += ` %c${u()}%c`, s.push(\"color: gray\", \"\")), { format: n, parts: s };\n}\nconst i = (e, ...o) => {\n if (typeof window > \"u\") {\n const s = console[g(e)];\n s(`${E(e)} | ${d()} |`, ...o);\n return;\n }\n if (!a(e)) return;\n const { format: t, parts: c } = D(e), n = console[g(e)];\n n(t, ...c, ...o), x(e, o);\n}, O = (e) => {\n const o = Math.floor(Date.now() - e);\n return o ? `${o}ms` : \"\";\n}, y = {\n /**\n * Asserts a condition and logs an error if it's false.\n */\n assert: (e, o, t) => console.assert(e, o, t),\n debug: (...e) => i(\"debug\", ...e),\n error: (...e) => i(\"error\", ...e),\n /**\n * Gets the current log level.\n */\n getLevel: () => r.logLevel,\n /**\n * Gets the current namespace prefix.\n */\n getPrefix: () => r.namespace,\n /**\n * Gets whether timestamps are shown.\n */\n getTimestamp: () => r.timestamp,\n /**\n * Creates a collapsed group in the console.\n */\n groupCollapsed: (e, o = \"GROUP\", t = Date.now()) => {\n if (!a(\"success\")) return;\n const c = O(t), n = d(), s = r.timestamp ? u() : \"\";\n console.groupCollapsed(\n `%c${o}%c${r.namespace}%c${n}%c${s}%c${c}%c${e}`,\n f(\"group\", \"; margin-right: 6px; padding: 1px 3px 0\"),\n f(\"ns\", `; ${h}; margin-right: 6px`),\n \"color: darkgray; margin-right: 6px\",\n \"color: gray; font-weight: lighter; margin-right: 6px\",\n \"color: gray; font-weight: lighter; margin-right: 6px\",\n \"color: inherit; font-weight: lighter\"\n );\n },\n /**\n * Ends the current console group.\n */\n groupEnd: () => {\n a(\"success\") && console.groupEnd();\n },\n info: (...e) => i(\"info\", ...e),\n /**\n * Initializes Logit with custom options.\n */\n initialise: (e) => {\n Object.assign(r, e);\n },\n /**\n * Sets the minimum log level to display.\n */\n setLogLevel: (e) => {\n r.logLevel = e;\n },\n /**\n * Sets the namespace prefix for all logs.\n */\n setPrefix: (e) => {\n r.namespace = e;\n },\n /**\n * Configures remote logging options.\n */\n setRemote: (e) => {\n r.remote = e;\n },\n /**\n * Sets the log level for remote logging.\n */\n setRemoteLogLevel: (e) => {\n r.remote.logLevel = e;\n },\n /**\n * Sets the display variant (text, icon, or symbol).\n */\n setVariant: (e) => {\n r.variant = e;\n },\n /**\n * Shows or hides the environment indicator.\n */\n showEnvironment: (e) => {\n r.environment = e;\n },\n /**\n * Shows or hides timestamps in logs.\n */\n showTimestamp: (e) => {\n r.timestamp = e;\n },\n success: (...e) => i(\"success\", ...e),\n /**\n * Displays data in a table format.\n */\n table: (...e) => {\n a(\"table\") && console.table(...e);\n },\n /**\n * Starts a timer with the given label.\n */\n time: (e) => {\n a(\"time\") && console.time(e);\n },\n /**\n * Ends a timer with the given label.\n */\n timeEnd: (e) => {\n a(\"time\") && console.timeEnd(e);\n },\n trace: (...e) => i(\"trace\", ...e),\n warn: (...e) => i(\"warn\", ...e)\n};\nexport {\n y as Logit\n};\n//# sourceMappingURL=logit.js.map\n"],"names":["$","w","_","a","d","x","g","m","h","E","i","y"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./sum.cjs");function o(t,n){if(t.length===0)return;let e;try{e=i.sum(t,n)}catch(r){if(r instanceof TypeError)return;throw r}if(typeof e=="number")return e/t.length;if(e instanceof Date)return new Date(e.getTime()/t.length)}exports.average=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./sum.cjs");function u(e,n){if(e.length===0)return;if((n?n(e[0]):e[0])instanceof Date){const t=e.reduce((i,o)=>{const r=n?n(o):o;if(!(r instanceof Date))throw new TypeError("average expected all items to be Date objects");return i+r.getTime()},0);return new Date(t/e.length)}try{const t=s.sum(e,n);if(typeof t=="number")return t/e.length}catch(t){if(t instanceof TypeError)return;throw t}}exports.average=u;
2
2
  //# sourceMappingURL=average.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"average.cjs","sources":["../../src/math/average.ts"],"sourcesContent":["import { sum } from './sum';\n\n/**\n * Calculates the average of an array of numbers or dates.\n *\n * @example\n * ```ts\n * const arr = [1, 2, 3, 4, 5];\n * average(arr); // 3\n * average(arr, (num) => num * 2); // 6\n * average(arr, (num) => new Date(Date.now() + 1000 * 60 * 60 * 24 * num); // Date object representing 3 days from now\n * ```\n *\n * @param array - The array of numbers or dates to average.\n * @param callback - (optional) A callback function to map the values.\n * @returns The average of the numbers or dates in the array.\n */\n\nexport function average<T>(array: T[], callback?: (item: T) => number | Date): number | Date | undefined {\n if (array.length === 0) return undefined;\n let total: number | Date | undefined;\n try {\n total = sum(array, callback);\n } catch (err) {\n if (err instanceof TypeError) return undefined;\n throw err;\n }\n if (typeof total === 'number') {\n return total / array.length;\n }\n if (total instanceof Date) {\n // For dates, average by dividing the timestamp sum by array length\n return new Date(total.getTime() / array.length);\n }\n return undefined;\n}\n"],"names":["average","array","callback","total","sum","err"],"mappings":"6GAkBO,SAASA,EAAWC,EAAYC,EAAkE,CACvG,GAAID,EAAM,SAAW,EAAG,OACxB,IAAIE,EACJ,GAAI,CACFA,EAAQC,EAAAA,IAAIH,EAAOC,CAAQ,CAC7B,OAASG,EAAK,CACZ,GAAIA,aAAe,UAAW,OAC9B,MAAMA,CACR,CACA,GAAI,OAAOF,GAAU,SACnB,OAAOA,EAAQF,EAAM,OAEvB,GAAIE,aAAiB,KAEnB,OAAO,IAAI,KAAKA,EAAM,QAAA,EAAYF,EAAM,MAAM,CAGlD"}
1
+ {"version":3,"file":"average.cjs","sources":["../../src/math/average.ts"],"sourcesContent":["import { sum } from './sum';\n\n/**\n * Calculates the average of an array of numbers or dates.\n *\n * @example\n * ```ts\n * const arr = [1, 2, 3, 4, 5];\n * average(arr); // 3\n * average(arr, (num) => num * 2); // 6\n * average(arr, (num) => new Date(Date.now() + 1000 * 60 * 60 * 24 * num); // Date object representing 3 days from now\n * ```\n *\n * @param array - The array of numbers or dates to average.\n * @param callback - (optional) A callback function to map the values.\n * @returns The average of the numbers or dates in the array.\n */\n\nexport function average<T>(array: T[], callback?: (item: T) => number | Date): number | Date | undefined {\n if (array.length === 0) return undefined;\n\n // Check if we are dealing with Dates (either directly or via callback)\n const firstItem = callback ? callback(array[0]) : array[0];\n const isDate = firstItem instanceof Date;\n\n if (isDate) {\n const totalTimestamp = array.reduce<number>((acc, item) => {\n const val = callback ? callback(item) : item;\n if (!(val instanceof Date)) {\n throw new TypeError('average expected all items to be Date objects');\n }\n return acc + val.getTime();\n }, 0);\n return new Date(totalTimestamp / array.length);\n }\n\n // Handle numbers\n try {\n const total = sum(array, callback as (item: T) => number);\n if (typeof total === 'number') {\n return total / array.length;\n }\n } catch (err) {\n if (err instanceof TypeError) return undefined;\n throw err;\n }\n\n return undefined;\n}\n"],"names":["average","array","callback","totalTimestamp","acc","item","val","total","sum","err"],"mappings":"6GAkBO,SAASA,EAAWC,EAAYC,EAAkE,CACvG,GAAID,EAAM,SAAW,EAAG,OAMxB,IAHkBC,EAAWA,EAASD,EAAM,CAAC,CAAC,EAAIA,EAAM,CAAC,aACrB,KAExB,CACV,MAAME,EAAiBF,EAAM,OAAe,CAACG,EAAKC,IAAS,CACzD,MAAMC,EAAMJ,EAAWA,EAASG,CAAI,EAAIA,EACxC,GAAI,EAAEC,aAAe,MACnB,MAAM,IAAI,UAAU,+CAA+C,EAErE,OAAOF,EAAME,EAAI,QAAA,CACnB,EAAG,CAAC,EACJ,OAAO,IAAI,KAAKH,EAAiBF,EAAM,MAAM,CAC/C,CAGA,GAAI,CACF,MAAMM,EAAQC,EAAAA,IAAIP,EAAOC,CAA+B,EACxD,GAAI,OAAOK,GAAU,SACnB,OAAOA,EAAQN,EAAM,MAEzB,OAASQ,EAAK,CACZ,GAAIA,aAAe,UAAW,OAC9B,MAAMA,CACR,CAGF"}
@@ -1,19 +1,25 @@
1
- import { sum as o } from "./sum.js";
2
- function f(t, r) {
1
+ import { sum as s } from "./sum.js";
2
+ function p(t, n) {
3
3
  if (t.length === 0) return;
4
- let e;
4
+ if ((n ? n(t[0]) : t[0]) instanceof Date) {
5
+ const e = t.reduce((i, o) => {
6
+ const r = n ? n(o) : o;
7
+ if (!(r instanceof Date))
8
+ throw new TypeError("average expected all items to be Date objects");
9
+ return i + r.getTime();
10
+ }, 0);
11
+ return new Date(e / t.length);
12
+ }
5
13
  try {
6
- e = o(t, r);
7
- } catch (n) {
8
- if (n instanceof TypeError) return;
9
- throw n;
14
+ const e = s(t, n);
15
+ if (typeof e == "number")
16
+ return e / t.length;
17
+ } catch (e) {
18
+ if (e instanceof TypeError) return;
19
+ throw e;
10
20
  }
11
- if (typeof e == "number")
12
- return e / t.length;
13
- if (e instanceof Date)
14
- return new Date(e.getTime() / t.length);
15
21
  }
16
22
  export {
17
- f as average
23
+ p as average
18
24
  };
19
25
  //# sourceMappingURL=average.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"average.js","sources":["../../src/math/average.ts"],"sourcesContent":["import { sum } from './sum';\n\n/**\n * Calculates the average of an array of numbers or dates.\n *\n * @example\n * ```ts\n * const arr = [1, 2, 3, 4, 5];\n * average(arr); // 3\n * average(arr, (num) => num * 2); // 6\n * average(arr, (num) => new Date(Date.now() + 1000 * 60 * 60 * 24 * num); // Date object representing 3 days from now\n * ```\n *\n * @param array - The array of numbers or dates to average.\n * @param callback - (optional) A callback function to map the values.\n * @returns The average of the numbers or dates in the array.\n */\n\nexport function average<T>(array: T[], callback?: (item: T) => number | Date): number | Date | undefined {\n if (array.length === 0) return undefined;\n let total: number | Date | undefined;\n try {\n total = sum(array, callback);\n } catch (err) {\n if (err instanceof TypeError) return undefined;\n throw err;\n }\n if (typeof total === 'number') {\n return total / array.length;\n }\n if (total instanceof Date) {\n // For dates, average by dividing the timestamp sum by array length\n return new Date(total.getTime() / array.length);\n }\n return undefined;\n}\n"],"names":["average","array","callback","total","sum","err"],"mappings":";AAkBO,SAASA,EAAWC,GAAYC,GAAkE;AACvG,MAAID,EAAM,WAAW,EAAG;AACxB,MAAIE;AACJ,MAAI;AACF,IAAAA,IAAQC,EAAIH,GAAOC,CAAQ;AAAA,EAC7B,SAASG,GAAK;AACZ,QAAIA,aAAe,UAAW;AAC9B,UAAMA;AAAA,EACR;AACA,MAAI,OAAOF,KAAU;AACnB,WAAOA,IAAQF,EAAM;AAEvB,MAAIE,aAAiB;AAEnB,WAAO,IAAI,KAAKA,EAAM,QAAA,IAAYF,EAAM,MAAM;AAGlD;"}
1
+ {"version":3,"file":"average.js","sources":["../../src/math/average.ts"],"sourcesContent":["import { sum } from './sum';\n\n/**\n * Calculates the average of an array of numbers or dates.\n *\n * @example\n * ```ts\n * const arr = [1, 2, 3, 4, 5];\n * average(arr); // 3\n * average(arr, (num) => num * 2); // 6\n * average(arr, (num) => new Date(Date.now() + 1000 * 60 * 60 * 24 * num); // Date object representing 3 days from now\n * ```\n *\n * @param array - The array of numbers or dates to average.\n * @param callback - (optional) A callback function to map the values.\n * @returns The average of the numbers or dates in the array.\n */\n\nexport function average<T>(array: T[], callback?: (item: T) => number | Date): number | Date | undefined {\n if (array.length === 0) return undefined;\n\n // Check if we are dealing with Dates (either directly or via callback)\n const firstItem = callback ? callback(array[0]) : array[0];\n const isDate = firstItem instanceof Date;\n\n if (isDate) {\n const totalTimestamp = array.reduce<number>((acc, item) => {\n const val = callback ? callback(item) : item;\n if (!(val instanceof Date)) {\n throw new TypeError('average expected all items to be Date objects');\n }\n return acc + val.getTime();\n }, 0);\n return new Date(totalTimestamp / array.length);\n }\n\n // Handle numbers\n try {\n const total = sum(array, callback as (item: T) => number);\n if (typeof total === 'number') {\n return total / array.length;\n }\n } catch (err) {\n if (err instanceof TypeError) return undefined;\n throw err;\n }\n\n return undefined;\n}\n"],"names":["average","array","callback","totalTimestamp","acc","item","val","total","sum","err"],"mappings":";AAkBO,SAASA,EAAWC,GAAYC,GAAkE;AACvG,MAAID,EAAM,WAAW,EAAG;AAMxB,OAHkBC,IAAWA,EAASD,EAAM,CAAC,CAAC,IAAIA,EAAM,CAAC,cACrB,MAExB;AACV,UAAME,IAAiBF,EAAM,OAAe,CAACG,GAAKC,MAAS;AACzD,YAAMC,IAAMJ,IAAWA,EAASG,CAAI,IAAIA;AACxC,UAAI,EAAEC,aAAe;AACnB,cAAM,IAAI,UAAU,+CAA+C;AAErE,aAAOF,IAAME,EAAI,QAAA;AAAA,IACnB,GAAG,CAAC;AACJ,WAAO,IAAI,KAAKH,IAAiBF,EAAM,MAAM;AAAA,EAC/C;AAGA,MAAI;AACF,UAAMM,IAAQC,EAAIP,GAAOC,CAA+B;AACxD,QAAI,OAAOK,KAAU;AACnB,aAAOA,IAAQN,EAAM;AAAA,EAEzB,SAASQ,GAAK;AACZ,QAAIA,aAAe,UAAW;AAC9B,UAAMA;AAAA,EACR;AAGF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"median.cjs","sources":["../../src/math/median.ts"],"sourcesContent":["/**\n * Returns the median of an array of numbers.\n *\n * @example\n * ```ts\n * median([1, 2, 3, 4, 100]); // 3\n * median([1, 2, 3, 4, 5], (n) => n * 2); // 6\n * median([]); // undefined\n * median([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]); // 5.5\n * median([new Date(2020-01-01), new Date(2020-01-02), new Date(2020-01-31)]) // 2020-01-02\n * ```\n *\n * @param arr - The array of numbers.\n * @param callback - (optional) A callback function to map the numbers.\n * @returns The median of the numbers.\n */\nexport function median<T>(arr: T[], callback?: (item: T) => number | Date): number | Date | undefined {\n if (arr.length === 0) return undefined;\n\n const values = callback ? arr.map(callback) : (arr as unknown as (number | Date)[]);\n const allDates = values.every((v) => v instanceof Date);\n const numericValues = values.map((v) => (v instanceof Date ? v.getTime() : (v as number)));\n\n numericValues.sort((a, b) => a - b);\n\n const mid = Math.floor(numericValues.length / 2);\n const medianValue =\n numericValues.length % 2 === 0 ? (numericValues[mid - 1] + numericValues[mid]) / 2 : numericValues[mid];\n\n return allDates ? new Date(medianValue) : medianValue;\n}\n"],"names":["median","arr","callback","values","allDates","v","numericValues","a","b","mid","medianValue"],"mappings":"gFAgBO,SAASA,EAAUC,EAAUC,EAAkE,CACpG,GAAID,EAAI,SAAW,EAAG,OAEtB,MAAME,EAASD,EAAWD,EAAI,IAAIC,CAAQ,EAAKD,EACzCG,EAAWD,EAAO,MAAOE,GAAMA,aAAa,IAAI,EAChDC,EAAgBH,EAAO,IAAKE,GAAOA,aAAa,KAAOA,EAAE,QAAA,EAAaA,CAAa,EAEzFC,EAAc,KAAK,CAACC,EAAGC,IAAMD,EAAIC,CAAC,EAElC,MAAMC,EAAM,KAAK,MAAMH,EAAc,OAAS,CAAC,EACzCI,EACJJ,EAAc,OAAS,IAAM,GAAKA,EAAcG,EAAM,CAAC,EAAIH,EAAcG,CAAG,GAAK,EAAIH,EAAcG,CAAG,EAExG,OAAOL,EAAW,IAAI,KAAKM,CAAW,EAAIA,CAC5C"}
1
+ {"version":3,"file":"median.cjs","sources":["../../src/math/median.ts"],"sourcesContent":["/**\n * Returns the median of an array of numbers.\n *\n * @example\n * ```ts\n * median([1, 2, 3, 4, 100]); // 3\n * median([1, 2, 3, 4, 5], (n) => n * 2); // 6\n * median([]); // undefined\n * median([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]); // 5.5\n * median([new Date(2020-01-01), new Date(2020-01-02), new Date(2020-01-31)]) // 2020-01-02\n * ```\n *\n * @param arr - The array of numbers.\n * @param callback - (optional) A callback function to map the numbers.\n * @returns The median of the numbers.\n */\nexport function median<T>(arr: T[], callback?: (item: T) => number | Date): number | Date | undefined {\n if (arr.length === 0) return undefined;\n\n const values = callback ? arr.map(callback) : (arr as unknown as (number | Date)[]);\n const allDates = values.every((v) => v instanceof Date);\n const numericValues = values.map((v) => (v instanceof Date ? v.getTime() : (v as number)));\n\n numericValues.sort((a, b) => a - b);\n\n const mid = Math.floor(numericValues.length / 2);\n const medianValue =\n numericValues.length % 2 === 0 ? (numericValues[mid - 1] + numericValues[mid]) / 2 : numericValues[mid];\n\n return (allDates ? new Date(medianValue) : medianValue) as unknown as number | Date;\n}\n"],"names":["median","arr","callback","values","allDates","v","numericValues","a","b","mid","medianValue"],"mappings":"gFAgBO,SAASA,EAAUC,EAAUC,EAAkE,CACpG,GAAID,EAAI,SAAW,EAAG,OAEtB,MAAME,EAASD,EAAWD,EAAI,IAAIC,CAAQ,EAAKD,EACzCG,EAAWD,EAAO,MAAOE,GAAMA,aAAa,IAAI,EAChDC,EAAgBH,EAAO,IAAKE,GAAOA,aAAa,KAAOA,EAAE,QAAA,EAAaA,CAAa,EAEzFC,EAAc,KAAK,CAACC,EAAGC,IAAMD,EAAIC,CAAC,EAElC,MAAMC,EAAM,KAAK,MAAMH,EAAc,OAAS,CAAC,EACzCI,EACJJ,EAAc,OAAS,IAAM,GAAKA,EAAcG,EAAM,CAAC,EAAIH,EAAcG,CAAG,GAAK,EAAIH,EAAcG,CAAG,EAExG,OAAQL,EAAW,IAAI,KAAKM,CAAW,EAAIA,CAC7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"median.js","sources":["../../src/math/median.ts"],"sourcesContent":["/**\n * Returns the median of an array of numbers.\n *\n * @example\n * ```ts\n * median([1, 2, 3, 4, 100]); // 3\n * median([1, 2, 3, 4, 5], (n) => n * 2); // 6\n * median([]); // undefined\n * median([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]); // 5.5\n * median([new Date(2020-01-01), new Date(2020-01-02), new Date(2020-01-31)]) // 2020-01-02\n * ```\n *\n * @param arr - The array of numbers.\n * @param callback - (optional) A callback function to map the numbers.\n * @returns The median of the numbers.\n */\nexport function median<T>(arr: T[], callback?: (item: T) => number | Date): number | Date | undefined {\n if (arr.length === 0) return undefined;\n\n const values = callback ? arr.map(callback) : (arr as unknown as (number | Date)[]);\n const allDates = values.every((v) => v instanceof Date);\n const numericValues = values.map((v) => (v instanceof Date ? v.getTime() : (v as number)));\n\n numericValues.sort((a, b) => a - b);\n\n const mid = Math.floor(numericValues.length / 2);\n const medianValue =\n numericValues.length % 2 === 0 ? (numericValues[mid - 1] + numericValues[mid]) / 2 : numericValues[mid];\n\n return allDates ? new Date(medianValue) : medianValue;\n}\n"],"names":["median","arr","callback","values","allDates","v","numericValues","a","b","mid","medianValue"],"mappings":"AAgBO,SAASA,EAAUC,GAAUC,GAAkE;AACpG,MAAID,EAAI,WAAW,EAAG;AAEtB,QAAME,IAASD,IAAWD,EAAI,IAAIC,CAAQ,IAAKD,GACzCG,IAAWD,EAAO,MAAM,CAACE,MAAMA,aAAa,IAAI,GAChDC,IAAgBH,EAAO,IAAI,CAACE,MAAOA,aAAa,OAAOA,EAAE,QAAA,IAAaA,CAAa;AAEzF,EAAAC,EAAc,KAAK,CAACC,GAAGC,MAAMD,IAAIC,CAAC;AAElC,QAAMC,IAAM,KAAK,MAAMH,EAAc,SAAS,CAAC,GACzCI,IACJJ,EAAc,SAAS,MAAM,KAAKA,EAAcG,IAAM,CAAC,IAAIH,EAAcG,CAAG,KAAK,IAAIH,EAAcG,CAAG;AAExG,SAAOL,IAAW,IAAI,KAAKM,CAAW,IAAIA;AAC5C;"}
1
+ {"version":3,"file":"median.js","sources":["../../src/math/median.ts"],"sourcesContent":["/**\n * Returns the median of an array of numbers.\n *\n * @example\n * ```ts\n * median([1, 2, 3, 4, 100]); // 3\n * median([1, 2, 3, 4, 5], (n) => n * 2); // 6\n * median([]); // undefined\n * median([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]); // 5.5\n * median([new Date(2020-01-01), new Date(2020-01-02), new Date(2020-01-31)]) // 2020-01-02\n * ```\n *\n * @param arr - The array of numbers.\n * @param callback - (optional) A callback function to map the numbers.\n * @returns The median of the numbers.\n */\nexport function median<T>(arr: T[], callback?: (item: T) => number | Date): number | Date | undefined {\n if (arr.length === 0) return undefined;\n\n const values = callback ? arr.map(callback) : (arr as unknown as (number | Date)[]);\n const allDates = values.every((v) => v instanceof Date);\n const numericValues = values.map((v) => (v instanceof Date ? v.getTime() : (v as number)));\n\n numericValues.sort((a, b) => a - b);\n\n const mid = Math.floor(numericValues.length / 2);\n const medianValue =\n numericValues.length % 2 === 0 ? (numericValues[mid - 1] + numericValues[mid]) / 2 : numericValues[mid];\n\n return (allDates ? new Date(medianValue) : medianValue) as unknown as number | Date;\n}\n"],"names":["median","arr","callback","values","allDates","v","numericValues","a","b","mid","medianValue"],"mappings":"AAgBO,SAASA,EAAUC,GAAUC,GAAkE;AACpG,MAAID,EAAI,WAAW,EAAG;AAEtB,QAAME,IAASD,IAAWD,EAAI,IAAIC,CAAQ,IAAKD,GACzCG,IAAWD,EAAO,MAAM,CAACE,MAAMA,aAAa,IAAI,GAChDC,IAAgBH,EAAO,IAAI,CAACE,MAAOA,aAAa,OAAOA,EAAE,QAAA,IAAaA,CAAa;AAEzF,EAAAC,EAAc,KAAK,CAACC,GAAGC,MAAMD,IAAIC,CAAC;AAElC,QAAMC,IAAM,KAAK,MAAMH,EAAc,SAAS,CAAC,GACzCI,IACJJ,EAAc,SAAS,MAAM,KAAKA,EAAcG,IAAM,CAAC,IAAIH,EAAcG,CAAG,KAAK,IAAIH,EAAcG,CAAG;AAExG,SAAQL,IAAW,IAAI,KAAKM,CAAW,IAAIA;AAC7C;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function a(r,n,e){if(e===0)throw new Error("Step cannot be 0");if(r===n)return[];const o=Math.max(0,Math.ceil((n-r)/e+Number.EPSILON));return Array.from({length:o},(i,t)=>r+t*e)}exports.range=a;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../function/assert.cjs");function m(r,i,e){if(a.assert(Number.isFinite(r)&&Number.isFinite(i)&&Number.isFinite(e),"start, stop, and step must be finite numbers",{args:{start:r,step:e,stop:i},type:TypeError}),a.assert(e!==0,"Step cannot be 0",{args:{step:e},type:Error}),r===i)return[];const n=Math.max(0,Math.ceil((i-r)/e+Number.EPSILON));return a.assert(n<=1e7,"Range exceeds maximum allowed size of 10,000,000",{args:{length:n,start:r,step:e,stop:i},type:Error}),Array.from({length:n},(t,u)=>r+u*e)}exports.range=m;
2
2
  //# sourceMappingURL=range.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"range.cjs","sources":["../../src/math/range.ts"],"sourcesContent":["/**\n * Creates an array of numbers progressing from start up to, but not including, end. A step is used to specify the difference between each number in the array.\n *\n * @example\n * ```ts\n * const start = 0;\n * const stop = 10;\n * const step = 2;\n *\n * range(start, stop, step) // [0, 2, 4, 6, 8];\n * ```\n *\n * @param start - The start of the range.\n * @param stop - The end of the range.\n * @param step - The value to increment or decrement by.\n *\n * @returns The range of numbers.\n */\nexport function range(start: number, stop: number, step: number) {\n if (step === 0) throw new Error('Step cannot be 0');\n if (start === stop) return [];\n const length = Math.max(0, Math.ceil((stop - start) / step + Number.EPSILON));\n return Array.from({ length }, (_, i) => start + i * step);\n}\n"],"names":["range","start","stop","step","length","_","i"],"mappings":"gFAkBO,SAASA,EAAMC,EAAeC,EAAcC,EAAc,CAC/D,GAAIA,IAAS,EAAG,MAAM,IAAI,MAAM,kBAAkB,EAClD,GAAIF,IAAUC,EAAM,MAAO,CAAA,EAC3B,MAAME,EAAS,KAAK,IAAI,EAAG,KAAK,MAAMF,EAAOD,GAASE,EAAO,OAAO,OAAO,CAAC,EAC5E,OAAO,MAAM,KAAK,CAAE,OAAAC,CAAA,EAAU,CAACC,EAAGC,IAAML,EAAQK,EAAIH,CAAI,CAC1D"}
1
+ {"version":3,"file":"range.cjs","sources":["../../src/math/range.ts"],"sourcesContent":["import { assert } from '../function/assert';\n\n/**\n * Creates an array of numbers progressing from start up to, but not including, end. A step is used to specify the difference between each number in the array.\n *\n * @example\n * ```ts\n * const start = 0;\n * const stop = 10;\n * const step = 2;\n *\n * range(start, stop, step) // [0, 2, 4, 6, 8];\n * ```\n *\n * @param start - The start of the range.\n * @param stop - The end of the range.\n * @param step - The value to increment or decrement by.\n *\n * @returns The range of numbers.\n *\n * @throws {TypeError} If start, stop, or step are not finite numbers.\n * @throws {Error} If step is 0 or if range exceeds maximum size.\n */\nexport function range(start: number, stop: number, step: number) {\n assert(\n Number.isFinite(start) && Number.isFinite(stop) && Number.isFinite(step),\n 'start, stop, and step must be finite numbers',\n { args: { start, step, stop }, type: TypeError },\n );\n assert(step !== 0, 'Step cannot be 0', { args: { step }, type: Error });\n\n if (start === stop) {\n return [];\n }\n\n const length = Math.max(0, Math.ceil((stop - start) / step + Number.EPSILON));\n\n assert(length <= 10_000_000, 'Range exceeds maximum allowed size of 10,000,000', {\n args: { length, start, step, stop },\n type: Error,\n });\n\n return Array.from({ length }, (_, i) => start + i * step);\n}\n"],"names":["range","start","stop","step","assert","length","_","i"],"mappings":"0HAuBO,SAASA,EAAMC,EAAeC,EAAcC,EAAc,CAQ/D,GAPAC,EAAAA,OACE,OAAO,SAASH,CAAK,GAAK,OAAO,SAASC,CAAI,GAAK,OAAO,SAASC,CAAI,EACvE,+CACA,CAAE,KAAM,CAAE,MAAAF,EAAO,KAAAE,EAAM,KAAAD,CAAA,EAAQ,KAAM,SAAA,CAAU,EAEjDE,SAAOD,IAAS,EAAG,mBAAoB,CAAE,KAAM,CAAE,KAAAA,CAAA,EAAQ,KAAM,MAAO,EAElEF,IAAUC,EACZ,MAAO,CAAA,EAGT,MAAMG,EAAS,KAAK,IAAI,EAAG,KAAK,MAAMH,EAAOD,GAASE,EAAO,OAAO,OAAO,CAAC,EAE5EC,OAAAA,SAAOC,GAAU,IAAY,mDAAoD,CAC/E,KAAM,CAAE,OAAAA,EAAQ,MAAAJ,EAAO,KAAAE,EAAM,KAAAD,CAAA,EAC7B,KAAM,KAAA,CACP,EAEM,MAAM,KAAK,CAAE,OAAAG,CAAA,EAAU,CAACC,EAAGC,IAAMN,EAAQM,EAAIJ,CAAI,CAC1D"}
@@ -1,10 +1,18 @@
1
- function f(r, e, n) {
2
- if (n === 0) throw new Error("Step cannot be 0");
3
- if (r === e) return [];
4
- const o = Math.max(0, Math.ceil((e - r) / n + Number.EPSILON));
5
- return Array.from({ length: o }, (c, a) => r + a * n);
1
+ import { assert as m } from "../function/assert.js";
2
+ function b(r, i, e) {
3
+ if (m(
4
+ Number.isFinite(r) && Number.isFinite(i) && Number.isFinite(e),
5
+ "start, stop, and step must be finite numbers",
6
+ { args: { start: r, step: e, stop: i }, type: TypeError }
7
+ ), m(e !== 0, "Step cannot be 0", { args: { step: e }, type: Error }), r === i)
8
+ return [];
9
+ const n = Math.max(0, Math.ceil((i - r) / e + Number.EPSILON));
10
+ return m(n <= 1e7, "Range exceeds maximum allowed size of 10,000,000", {
11
+ args: { length: n, start: r, step: e, stop: i },
12
+ type: Error
13
+ }), Array.from({ length: n }, (u, a) => r + a * e);
6
14
  }
7
15
  export {
8
- f as range
16
+ b as range
9
17
  };
10
18
  //# sourceMappingURL=range.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"range.js","sources":["../../src/math/range.ts"],"sourcesContent":["/**\n * Creates an array of numbers progressing from start up to, but not including, end. A step is used to specify the difference between each number in the array.\n *\n * @example\n * ```ts\n * const start = 0;\n * const stop = 10;\n * const step = 2;\n *\n * range(start, stop, step) // [0, 2, 4, 6, 8];\n * ```\n *\n * @param start - The start of the range.\n * @param stop - The end of the range.\n * @param step - The value to increment or decrement by.\n *\n * @returns The range of numbers.\n */\nexport function range(start: number, stop: number, step: number) {\n if (step === 0) throw new Error('Step cannot be 0');\n if (start === stop) return [];\n const length = Math.max(0, Math.ceil((stop - start) / step + Number.EPSILON));\n return Array.from({ length }, (_, i) => start + i * step);\n}\n"],"names":["range","start","stop","step","length","_","i"],"mappings":"AAkBO,SAASA,EAAMC,GAAeC,GAAcC,GAAc;AAC/D,MAAIA,MAAS,EAAG,OAAM,IAAI,MAAM,kBAAkB;AAClD,MAAIF,MAAUC,EAAM,QAAO,CAAA;AAC3B,QAAME,IAAS,KAAK,IAAI,GAAG,KAAK,MAAMF,IAAOD,KAASE,IAAO,OAAO,OAAO,CAAC;AAC5E,SAAO,MAAM,KAAK,EAAE,QAAAC,EAAA,GAAU,CAACC,GAAGC,MAAML,IAAQK,IAAIH,CAAI;AAC1D;"}
1
+ {"version":3,"file":"range.js","sources":["../../src/math/range.ts"],"sourcesContent":["import { assert } from '../function/assert';\n\n/**\n * Creates an array of numbers progressing from start up to, but not including, end. A step is used to specify the difference between each number in the array.\n *\n * @example\n * ```ts\n * const start = 0;\n * const stop = 10;\n * const step = 2;\n *\n * range(start, stop, step) // [0, 2, 4, 6, 8];\n * ```\n *\n * @param start - The start of the range.\n * @param stop - The end of the range.\n * @param step - The value to increment or decrement by.\n *\n * @returns The range of numbers.\n *\n * @throws {TypeError} If start, stop, or step are not finite numbers.\n * @throws {Error} If step is 0 or if range exceeds maximum size.\n */\nexport function range(start: number, stop: number, step: number) {\n assert(\n Number.isFinite(start) && Number.isFinite(stop) && Number.isFinite(step),\n 'start, stop, and step must be finite numbers',\n { args: { start, step, stop }, type: TypeError },\n );\n assert(step !== 0, 'Step cannot be 0', { args: { step }, type: Error });\n\n if (start === stop) {\n return [];\n }\n\n const length = Math.max(0, Math.ceil((stop - start) / step + Number.EPSILON));\n\n assert(length <= 10_000_000, 'Range exceeds maximum allowed size of 10,000,000', {\n args: { length, start, step, stop },\n type: Error,\n });\n\n return Array.from({ length }, (_, i) => start + i * step);\n}\n"],"names":["range","start","stop","step","assert","length","_","i"],"mappings":";AAuBO,SAASA,EAAMC,GAAeC,GAAcC,GAAc;AAQ/D,MAPAC;AAAA,IACE,OAAO,SAASH,CAAK,KAAK,OAAO,SAASC,CAAI,KAAK,OAAO,SAASC,CAAI;AAAA,IACvE;AAAA,IACA,EAAE,MAAM,EAAE,OAAAF,GAAO,MAAAE,GAAM,MAAAD,EAAA,GAAQ,MAAM,UAAA;AAAA,EAAU,GAEjDE,EAAOD,MAAS,GAAG,oBAAoB,EAAE,MAAM,EAAE,MAAAA,EAAA,GAAQ,MAAM,OAAO,GAElEF,MAAUC;AACZ,WAAO,CAAA;AAGT,QAAMG,IAAS,KAAK,IAAI,GAAG,KAAK,MAAMH,IAAOD,KAASE,IAAO,OAAO,OAAO,CAAC;AAE5E,SAAAC,EAAOC,KAAU,KAAY,oDAAoD;AAAA,IAC/E,MAAM,EAAE,QAAAA,GAAQ,OAAAJ,GAAO,MAAAE,GAAM,MAAAD,EAAA;AAAA,IAC7B,MAAM;AAAA,EAAA,CACP,GAEM,MAAM,KAAK,EAAE,QAAAG,EAAA,GAAU,CAACC,GAAGC,MAAMN,IAAQM,IAAIJ,CAAI;AAC1D;"}
package/dist/math/sum.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function i(t,e){if(t.length!==0)return t.reduce((n,u)=>{const r=e?e(u):u;if(r instanceof Date)return o(r,n);if(typeof r=="number")return s(n,r);throw new TypeError("sum only supports numbers and Date objects")},void 0)}function o(t,e){const n=t.getTime();return e===void 0?new Date(n):e instanceof Date?new Date(e.getTime()+n):new Date(e+n)}function s(t,e){return t===void 0?e:t instanceof Date?new Date(t.getTime()+e):t+e}exports.sum=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function u(r,t){if(r.length!==0)return r.reduce((o,n)=>{const e=t?t(n):n;if(typeof e!="number")throw new TypeError(`Expected number, got ${typeof e}`);if(Number.isNaN(e))throw new TypeError("Cannot sum NaN values");return o+e},0)}exports.sum=u;
2
2
  //# sourceMappingURL=sum.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"sum.cjs","sources":["../../src/math/sum.ts"],"sourcesContent":["/**\n * Sum numbers in an array or numbers mapped by a callback function.\n *\n * @example\n * ```ts\n * sum([1, 2, 3]) // 6\n * sum([{value: 1}, {value: 2}, {value: 3}], (item) => item.value) // 6\n * sum(['apple', 'banana', 'cherry']) // TypeError\n * sum([new Date('2023-01-01'), new Date('2022-01-01')]) // 467308800000\n * ```\n *\n * @param array - The array to sum.\n * @param callback - An optional callback function to map the values.\n *\n * @returns The sum of the numbers in the array or the sum of the mapped values.\n */\nexport function sum<T>(array: T[], callback?: (item: T) => number | Date): number | Date | undefined {\n if (array.length === 0) return undefined;\n\n return array.reduce<number | Date | undefined>((acc, item) => {\n const value = callback ? callback(item) : item;\n if (value instanceof Date) {\n return sumDate(value, acc);\n }\n if (typeof value === 'number') {\n return sumNumbers(acc, value);\n }\n throw new TypeError('sum only supports numbers and Date objects');\n }, undefined);\n}\n\nfunction sumDate(value: Date, acc: number | Date | undefined) {\n const valueTime = value.getTime();\n if (acc === undefined) return new Date(valueTime);\n if (acc instanceof Date) return new Date(acc.getTime() + valueTime);\n return new Date(acc + valueTime);\n}\n\nfunction sumNumbers<T>(acc: number | Date | undefined, value: number | (T & number)) {\n if (acc === undefined) return value;\n if (acc instanceof Date) return new Date(acc.getTime() + value);\n return acc + value;\n}\n"],"names":["sum","array","callback","acc","item","value","sumDate","sumNumbers","valueTime"],"mappings":"gFAgBO,SAASA,EAAOC,EAAYC,EAAkE,CACnG,GAAID,EAAM,SAAW,EAErB,OAAOA,EAAM,OAAkC,CAACE,EAAKC,IAAS,CAC5D,MAAMC,EAAQH,EAAWA,EAASE,CAAI,EAAIA,EAC1C,GAAIC,aAAiB,KACnB,OAAOC,EAAQD,EAAOF,CAAG,EAE3B,GAAI,OAAOE,GAAU,SACnB,OAAOE,EAAWJ,EAAKE,CAAK,EAE9B,MAAM,IAAI,UAAU,4CAA4C,CAClE,EAAG,MAAS,CACd,CAEA,SAASC,EAAQD,EAAaF,EAAgC,CAC5D,MAAMK,EAAYH,EAAM,QAAA,EACxB,OAAIF,IAAQ,OAAkB,IAAI,KAAKK,CAAS,EAC5CL,aAAe,KAAa,IAAI,KAAKA,EAAI,QAAA,EAAYK,CAAS,EAC3D,IAAI,KAAKL,EAAMK,CAAS,CACjC,CAEA,SAASD,EAAcJ,EAAgCE,EAA8B,CACnF,OAAIF,IAAQ,OAAkBE,EAC1BF,aAAe,KAAa,IAAI,KAAKA,EAAI,QAAA,EAAYE,CAAK,EACvDF,EAAME,CACf"}
1
+ {"version":3,"file":"sum.cjs","sources":["../../src/math/sum.ts"],"sourcesContent":["/**\n * Sum numbers in an array or numbers mapped by a callback function.\n *\n * @example\n * ```ts\n * sum([1, 2, 3]) // 6\n * sum([{value: 1}, {value: 2}, {value: 3}], (item) => item.value) // 6\n * sum(['apple', 'banana', 'cherry']) // TypeError\n * ```\n *\n * @param array - The array to sum.\n * @param callback - An optional callback function to map the values.\n *\n * @returns The sum of the numbers in the array or the sum of the mapped values.\n */\nexport function sum<T>(array: T[], callback?: (item: T) => number): number | undefined {\n if (array.length === 0) return undefined;\n\n return array.reduce<number>((acc, item) => {\n const val = callback ? callback(item) : item;\n if (typeof val !== 'number') {\n throw new TypeError(`Expected number, got ${typeof val}`);\n }\n if (Number.isNaN(val)) {\n throw new TypeError('Cannot sum NaN values');\n }\n return acc + val;\n }, 0);\n}\n"],"names":["sum","array","callback","acc","item","val"],"mappings":"gFAeO,SAASA,EAAOC,EAAYC,EAAoD,CACrF,GAAID,EAAM,SAAW,EAErB,OAAOA,EAAM,OAAe,CAACE,EAAKC,IAAS,CACzC,MAAMC,EAAMH,EAAWA,EAASE,CAAI,EAAIA,EACxC,GAAI,OAAOC,GAAQ,SACjB,MAAM,IAAI,UAAU,wBAAwB,OAAOA,CAAG,EAAE,EAE1D,GAAI,OAAO,MAAMA,CAAG,EAClB,MAAM,IAAI,UAAU,uBAAuB,EAE7C,OAAOF,EAAME,CACf,EAAG,CAAC,CACN"}
package/dist/math/sum.js CHANGED
@@ -1,22 +1,15 @@
1
- function f(t, e) {
2
- if (t.length !== 0)
3
- return t.reduce((n, u) => {
4
- const r = e ? e(u) : u;
5
- if (r instanceof Date)
6
- return i(r, n);
7
- if (typeof r == "number")
8
- return o(n, r);
9
- throw new TypeError("sum only supports numbers and Date objects");
10
- }, void 0);
11
- }
12
- function i(t, e) {
13
- const n = t.getTime();
14
- return e === void 0 ? new Date(n) : e instanceof Date ? new Date(e.getTime() + n) : new Date(e + n);
15
- }
16
- function o(t, e) {
17
- return t === void 0 ? e : t instanceof Date ? new Date(t.getTime() + e) : t + e;
1
+ function u(r, n) {
2
+ if (r.length !== 0)
3
+ return r.reduce((o, t) => {
4
+ const e = n ? n(t) : t;
5
+ if (typeof e != "number")
6
+ throw new TypeError(`Expected number, got ${typeof e}`);
7
+ if (Number.isNaN(e))
8
+ throw new TypeError("Cannot sum NaN values");
9
+ return o + e;
10
+ }, 0);
18
11
  }
19
12
  export {
20
- f as sum
13
+ u as sum
21
14
  };
22
15
  //# sourceMappingURL=sum.js.map