@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.
- package/dist/array/chunk.cjs +1 -1
- package/dist/array/chunk.cjs.map +1 -1
- package/dist/array/chunk.js +15 -12
- package/dist/array/chunk.js.map +1 -1
- package/dist/array/group.cjs +1 -1
- package/dist/array/group.cjs.map +1 -1
- package/dist/array/group.js +9 -9
- package/dist/array/group.js.map +1 -1
- package/dist/array/list.cjs +1 -1
- package/dist/array/list.cjs.map +1 -1
- package/dist/array/list.js +28 -24
- package/dist/array/list.js.map +1 -1
- package/dist/array/pick.cjs.map +1 -1
- package/dist/array/pick.js.map +1 -1
- package/dist/date/timeDiff.cjs +1 -1
- package/dist/date/timeDiff.cjs.map +1 -1
- package/dist/date/timeDiff.js +10 -12
- package/dist/date/timeDiff.js.map +1 -1
- package/dist/function/curry.cjs +1 -1
- package/dist/function/curry.cjs.map +1 -1
- package/dist/function/curry.js +3 -3
- package/dist/function/curry.js.map +1 -1
- package/dist/function/debounce.cjs +1 -1
- package/dist/function/debounce.cjs.map +1 -1
- package/dist/function/debounce.js +22 -5
- package/dist/function/debounce.js.map +1 -1
- package/dist/function/memo.cjs +1 -1
- package/dist/function/memo.cjs.map +1 -1
- package/dist/function/memo.js +14 -13
- package/dist/function/memo.js.map +1 -1
- package/dist/function/retry.cjs +1 -1
- package/dist/function/retry.cjs.map +1 -1
- package/dist/function/retry.js +12 -12
- package/dist/function/retry.js.map +1 -1
- package/dist/function/sleep.cjs +1 -1
- package/dist/function/sleep.cjs.map +1 -1
- package/dist/function/sleep.js +8 -3
- package/dist/function/sleep.js.map +1 -1
- package/dist/function/throttle.cjs +1 -1
- package/dist/function/throttle.cjs.map +1 -1
- package/dist/function/throttle.js +33 -6
- package/dist/function/throttle.js.map +1 -1
- package/dist/index.d.ts +62 -51
- package/dist/logit/dist/logit.cjs +1 -1
- package/dist/logit/dist/logit.cjs.map +1 -1
- package/dist/logit/dist/logit.js +64 -62
- package/dist/logit/dist/logit.js.map +1 -1
- package/dist/math/average.cjs +1 -1
- package/dist/math/average.cjs.map +1 -1
- package/dist/math/average.js +18 -12
- package/dist/math/average.js.map +1 -1
- package/dist/math/median.cjs.map +1 -1
- package/dist/math/median.js.map +1 -1
- package/dist/math/range.cjs +1 -1
- package/dist/math/range.cjs.map +1 -1
- package/dist/math/range.js +14 -6
- package/dist/math/range.js.map +1 -1
- package/dist/math/sum.cjs +1 -1
- package/dist/math/sum.cjs.map +1 -1
- package/dist/math/sum.js +11 -18
- package/dist/math/sum.js.map +1 -1
- package/dist/object/clone.cjs +1 -1
- package/dist/object/clone.cjs.map +1 -1
- package/dist/object/clone.js +13 -3
- package/dist/object/clone.js.map +1 -1
- package/dist/object/merge.cjs +1 -1
- package/dist/object/merge.cjs.map +1 -1
- package/dist/object/merge.js +11 -15
- package/dist/object/merge.js.map +1 -1
- package/dist/object/seek.cjs +1 -1
- package/dist/object/seek.cjs.map +1 -1
- package/dist/object/seek.js +8 -6
- package/dist/object/seek.js.map +1 -1
- package/dist/random/uuid.cjs +1 -1
- package/dist/random/uuid.cjs.map +1 -1
- package/dist/random/uuid.js +6 -3
- package/dist/random/uuid.js.map +1 -1
- package/dist/string/camelCase.cjs +1 -1
- package/dist/string/camelCase.cjs.map +1 -1
- package/dist/string/camelCase.js +3 -3
- package/dist/string/camelCase.js.map +1 -1
- package/dist/string/similarity.cjs +1 -1
- package/dist/string/similarity.cjs.map +1 -1
- package/dist/string/similarity.js +24 -21
- package/dist/string/similarity.js.map +1 -1
- package/dist/string/truncate.cjs +1 -1
- package/dist/string/truncate.cjs.map +1 -1
- package/dist/string/truncate.js +14 -5
- package/dist/string/truncate.js.map +1 -1
- package/dist/typed/is.cjs +1 -1
- package/dist/typed/is.cjs.map +1 -1
- package/dist/typed/is.js +30 -31
- package/dist/typed/is.js.map +1 -1
- package/dist/typed/isEmpty.cjs +1 -1
- package/dist/typed/isEmpty.cjs.map +1 -1
- package/dist/typed/isEmpty.js +6 -6
- package/dist/typed/isEmpty.js.map +1 -1
- package/dist/typed/isEqual.cjs +1 -1
- package/dist/typed/isEqual.cjs.map +1 -1
- package/dist/typed/isEqual.js +22 -17
- package/dist/typed/isEqual.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logit.cjs","sources":["../../../../logit/dist/logit.js"],"sourcesContent":["const
|
|
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":"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"}
|
package/dist/logit/dist/logit.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
const
|
|
1
|
+
const w = {}, v = {
|
|
2
2
|
debug: "log",
|
|
3
3
|
success: "log"
|
|
4
|
-
},
|
|
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:
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
32
|
-
|
|
33
|
-
},
|
|
34
|
-
const { bg: t, color:
|
|
35
|
-
switch (
|
|
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 `${
|
|
37
|
+
return `${s}; padding: 1px 1px 0${o}`;
|
|
38
38
|
case "icon":
|
|
39
|
-
return `${
|
|
39
|
+
return `${s}; padding: 0 3px${o}`;
|
|
40
40
|
default:
|
|
41
|
-
return `background: ${t}; color: ${
|
|
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
|
|
45
|
-
const
|
|
46
|
-
let
|
|
47
|
-
const
|
|
48
|
-
return
|
|
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
|
|
53
|
+
const a = (e, ...o) => {
|
|
51
54
|
if (typeof window > "u") {
|
|
52
|
-
const
|
|
53
|
-
|
|
55
|
+
const s = console[m(e)];
|
|
56
|
+
s(`${h(e)} | ${g()} |`, ...o);
|
|
54
57
|
return;
|
|
55
58
|
}
|
|
56
|
-
if (!
|
|
57
|
-
const { format: t, parts:
|
|
58
|
-
n(t, ...
|
|
59
|
-
},
|
|
60
|
-
const
|
|
61
|
-
return
|
|
62
|
-
},
|
|
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,
|
|
67
|
-
debug: (...e) =>
|
|
68
|
-
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: () =>
|
|
75
|
+
getLevel: () => r.logLevel,
|
|
73
76
|
/**
|
|
74
77
|
* Gets the current namespace prefix.
|
|
75
78
|
*/
|
|
76
|
-
getPrefix: () =>
|
|
79
|
+
getPrefix: () => r.namespace,
|
|
77
80
|
/**
|
|
78
81
|
* Gets whether timestamps are shown.
|
|
79
82
|
*/
|
|
80
|
-
getTimestamp: () =>
|
|
83
|
+
getTimestamp: () => r.timestamp,
|
|
81
84
|
/**
|
|
82
85
|
* Creates a collapsed group in the console.
|
|
83
86
|
*/
|
|
84
|
-
groupCollapsed: (e,
|
|
85
|
-
if (!
|
|
86
|
-
const
|
|
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${
|
|
89
|
-
|
|
90
|
-
|
|
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
|
-
|
|
104
|
+
i("success") && console.groupEnd();
|
|
102
105
|
},
|
|
103
|
-
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(
|
|
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
|
-
|
|
117
|
+
r.logLevel = e;
|
|
115
118
|
},
|
|
116
119
|
/**
|
|
117
120
|
* Sets the namespace prefix for all logs.
|
|
118
121
|
*/
|
|
119
122
|
setPrefix: (e) => {
|
|
120
|
-
|
|
123
|
+
r.namespace = e;
|
|
121
124
|
},
|
|
122
125
|
/**
|
|
123
126
|
* Configures remote logging options.
|
|
124
127
|
*/
|
|
125
128
|
setRemote: (e) => {
|
|
126
|
-
|
|
129
|
+
r.remote = e;
|
|
127
130
|
},
|
|
128
131
|
/**
|
|
129
132
|
* Sets the log level for remote logging.
|
|
130
133
|
*/
|
|
131
134
|
setRemoteLogLevel: (e) => {
|
|
132
|
-
|
|
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
|
-
|
|
141
|
+
r.variant = e;
|
|
139
142
|
},
|
|
140
143
|
/**
|
|
141
144
|
* Shows or hides the environment indicator.
|
|
142
145
|
*/
|
|
143
146
|
showEnvironment: (e) => {
|
|
144
|
-
|
|
147
|
+
r.environment = e;
|
|
145
148
|
},
|
|
146
149
|
/**
|
|
147
150
|
* Shows or hides timestamps in logs.
|
|
148
151
|
*/
|
|
149
152
|
showTimestamp: (e) => {
|
|
150
|
-
|
|
153
|
+
r.timestamp = e;
|
|
151
154
|
},
|
|
152
|
-
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
172
|
+
i("time") && console.timeEnd(e);
|
|
170
173
|
},
|
|
171
|
-
trace: (...e) =>
|
|
172
|
-
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
|
-
|
|
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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"}
|
package/dist/math/average.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
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
|
|
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"}
|
package/dist/math/average.js
CHANGED
|
@@ -1,19 +1,25 @@
|
|
|
1
|
-
import { sum as
|
|
2
|
-
function
|
|
1
|
+
import { sum as s } from "./sum.js";
|
|
2
|
+
function p(t, n) {
|
|
3
3
|
if (t.length === 0) return;
|
|
4
|
-
|
|
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 =
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
-
|
|
23
|
+
p as average
|
|
18
24
|
};
|
|
19
25
|
//# sourceMappingURL=average.js.map
|
package/dist/math/average.js.map
CHANGED
|
@@ -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
|
|
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;"}
|
package/dist/math/median.cjs.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/math/median.js.map
CHANGED
|
@@ -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,
|
|
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;"}
|
package/dist/math/range.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});
|
|
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
|
package/dist/math/range.cjs.map
CHANGED
|
@@ -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
|
|
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"}
|
package/dist/math/range.js
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
if (
|
|
4
|
-
|
|
5
|
-
|
|
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
|
-
|
|
16
|
+
b as range
|
|
9
17
|
};
|
|
10
18
|
//# sourceMappingURL=range.js.map
|
package/dist/math/range.js.map
CHANGED
|
@@ -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
|
|
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
|
|
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
|
package/dist/math/sum.cjs.map
CHANGED
|
@@ -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 *
|
|
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
|
|
2
|
-
if (
|
|
3
|
-
return
|
|
4
|
-
const
|
|
5
|
-
if (
|
|
6
|
-
|
|
7
|
-
if (
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
},
|
|
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
|
-
|
|
13
|
+
u as sum
|
|
21
14
|
};
|
|
22
15
|
//# sourceMappingURL=sum.js.map
|