@choksheak/ts-utils 0.3.1 → 0.3.3
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/asNumber.cjs +39 -0
- package/asNumber.d.mts +6 -0
- package/asNumber.d.ts +6 -0
- package/asNumber.min.cjs +2 -0
- package/asNumber.min.cjs.map +1 -0
- package/asNumber.min.mjs +2 -0
- package/asNumber.min.mjs.map +1 -0
- package/asNumber.mjs +14 -0
- package/average.cjs +15 -7
- package/average.min.cjs +1 -1
- package/average.min.cjs.map +1 -1
- package/average.min.mjs +1 -1
- package/average.min.mjs.map +1 -1
- package/average.mjs +15 -7
- package/isPromise.cjs +40 -0
- package/isPromise.d.mts +19 -0
- package/isPromise.d.ts +19 -0
- package/isPromise.min.cjs +2 -0
- package/isPromise.min.cjs.map +1 -0
- package/isPromise.min.mjs +2 -0
- package/isPromise.min.mjs.map +1 -0
- package/isPromise.mjs +14 -0
- package/kvStore.cjs +5 -4
- package/kvStore.min.cjs +1 -1
- package/kvStore.min.cjs.map +1 -1
- package/kvStore.min.mjs +1 -1
- package/kvStore.min.mjs.map +1 -1
- package/kvStore.mjs +5 -4
- package/mean.cjs +53 -0
- package/mean.d.mts +7 -0
- package/mean.d.ts +7 -0
- package/mean.min.cjs +2 -0
- package/mean.min.cjs.map +1 -0
- package/mean.min.mjs +2 -0
- package/mean.min.mjs.map +1 -0
- package/mean.mjs +26 -0
- package/median.cjs +56 -0
- package/median.d.mts +7 -0
- package/median.d.ts +7 -0
- package/median.min.cjs +2 -0
- package/median.min.cjs.map +1 -0
- package/median.min.mjs +2 -0
- package/median.min.mjs.map +1 -0
- package/median.mjs +29 -0
- package/package.json +65 -1
- package/round.cjs +4 -1
- package/round.d.mts +2 -1
- package/round.d.ts +2 -1
- package/round.min.cjs +1 -1
- package/round.min.cjs.map +1 -1
- package/round.min.mjs +1 -1
- package/round.min.mjs.map +1 -1
- package/round.mjs +4 -1
- package/storageAdapter.d.mts +5 -2
- package/storageAdapter.d.ts +5 -2
- package/storageAdapter.min.cjs +1 -1
- package/storageAdapter.min.cjs.map +1 -1
- package/sum.cjs +17 -7
- package/sum.d.mts +3 -3
- package/sum.d.ts +3 -3
- package/sum.min.cjs +1 -1
- package/sum.min.cjs.map +1 -1
- package/sum.min.mjs +1 -1
- package/sum.min.mjs.map +1 -1
- package/sum.mjs +15 -7
package/storageAdapter.d.ts
CHANGED
|
@@ -19,8 +19,11 @@ type StoredObject<T> = {
|
|
|
19
19
|
/**
|
|
20
20
|
* Full interface for a storage implementation. Each method can be either sync
|
|
21
21
|
* or async, and the interface works with either implementation scheme.
|
|
22
|
+
*
|
|
23
|
+
* Note: We are using `interface` instead of `type ... &` because typedoc
|
|
24
|
+
* cannot handle the `&` syntax to merge types.
|
|
22
25
|
*/
|
|
23
|
-
|
|
26
|
+
interface FullStorageAdapter<T> extends StorageAdapter<T> {
|
|
24
27
|
set: (key: string, value: T, expiryDeltaMs?: number | Duration) => Promise<void> | void;
|
|
25
28
|
getStoredObject: (key: string) => Promise<StoredObject<T> | undefined> | StoredObject<T> | undefined;
|
|
26
29
|
forEach(callback: (key: string, value: T, expiryMs: number, storedMs: number) => void | Promise<void>): Promise<void> | void;
|
|
@@ -28,6 +31,6 @@ type FullStorageAdapter<T> = StorageAdapter<T> & {
|
|
|
28
31
|
asMap<T>(): Promise<Map<string, StoredObject<T>>> | Map<string, StoredObject<T>>;
|
|
29
32
|
gc: () => Promise<void> | void;
|
|
30
33
|
gcNow: () => Promise<void> | void;
|
|
31
|
-
}
|
|
34
|
+
}
|
|
32
35
|
|
|
33
36
|
export type { FullStorageAdapter, StorageAdapter, StoredObject };
|
package/storageAdapter.min.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var t=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var m=(r,e,d,
|
|
1
|
+
"use strict";var t=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var m=(r,e,d,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of n(e))!a.call(r,i)&&i!==d&&t(r,i,{get:()=>e[i],enumerable:!(o=s(e,i))||o.enumerable});return r};var v=r=>m(t({},"__esModule",{value:!0}),r);var u={};module.exports=v(u);
|
|
2
2
|
//# sourceMappingURL=storageAdapter.min.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/storageAdapter.ts"],"sourcesContent":["import { Duration } from \"./duration\";\n\n/**\n * Most basic interface for a storage implementation. This is designed to be\n * quite easily implemented by users to plug in any new underlying storage.\n */\nexport type StorageAdapter<T> = {\n set: (key: string, value: T) => Promise<void> | void;\n get: (key: string) => Promise<T | undefined> | T | undefined;\n delete: (key: string) => Promise<void> | void;\n clear: () => Promise<void> | void;\n};\n\n/** Most basic interface for stored object. */\nexport type StoredObject<T> = {\n value: T;\n storedMs: number;\n expiryMs: number;\n};\n\n/**\n * Full interface for a storage implementation. Each method can be either sync\n * or async, and the interface works with either implementation scheme.\n */\nexport
|
|
1
|
+
{"version":3,"sources":["../src/storageAdapter.ts"],"sourcesContent":["import { Duration } from \"./duration\";\n\n/**\n * Most basic interface for a storage implementation. This is designed to be\n * quite easily implemented by users to plug in any new underlying storage.\n */\nexport type StorageAdapter<T> = {\n set: (key: string, value: T) => Promise<void> | void;\n get: (key: string) => Promise<T | undefined> | T | undefined;\n delete: (key: string) => Promise<void> | void;\n clear: () => Promise<void> | void;\n};\n\n/** Most basic interface for stored object. */\nexport type StoredObject<T> = {\n value: T;\n storedMs: number;\n expiryMs: number;\n};\n\n/**\n * Full interface for a storage implementation. Each method can be either sync\n * or async, and the interface works with either implementation scheme.\n *\n * Note: We are using `interface` instead of `type ... &` because typedoc\n * cannot handle the `&` syntax to merge types.\n */\nexport interface FullStorageAdapter<T> extends StorageAdapter<T> {\n // Redefining `set()`, but with an optional expiration parameter.\n set: (\n key: string,\n value: T,\n expiryDeltaMs?: number | Duration,\n ) => Promise<void> | void;\n\n getStoredObject: (\n key: string,\n ) => Promise<StoredObject<T> | undefined> | StoredObject<T> | undefined;\n\n forEach(\n callback: (\n key: string,\n value: T,\n expiryMs: number,\n storedMs: number,\n ) => void | Promise<void>,\n ): Promise<void> | void;\n\n size(): Promise<number> | number;\n\n asMap<T>():\n | Promise<Map<string, StoredObject<T>>>\n | Map<string, StoredObject<T>>;\n\n gc: () => Promise<void> | void;\n\n gcNow: () => Promise<void> | void;\n}\n"],"mappings":"+WAAA,IAAAA,EAAA,kBAAAC,EAAAD","names":["storageAdapter_exports","__toCommonJS"]}
|
package/sum.cjs
CHANGED
|
@@ -23,14 +23,24 @@ __export(sum_exports, {
|
|
|
23
23
|
sum: () => sum
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(sum_exports);
|
|
26
|
+
|
|
27
|
+
// src/asNumber.ts
|
|
28
|
+
function asNumber(u) {
|
|
29
|
+
if (typeof u === "number" && isFinite(u)) {
|
|
30
|
+
return u;
|
|
31
|
+
}
|
|
32
|
+
const n = Number(u);
|
|
33
|
+
if (typeof n === "number" && isFinite(n)) {
|
|
34
|
+
return n;
|
|
35
|
+
}
|
|
36
|
+
return 0;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// src/sum.ts
|
|
26
40
|
function sum(numbers) {
|
|
27
|
-
return numbers.reduce(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
return accumulated + value;
|
|
31
|
-
},
|
|
32
|
-
0
|
|
33
|
-
);
|
|
41
|
+
return numbers.reduce((accumulated, current) => {
|
|
42
|
+
return accumulated + asNumber(current);
|
|
43
|
+
}, 0);
|
|
34
44
|
}
|
|
35
45
|
// Annotate the CommonJS export names for ESM import in node:
|
|
36
46
|
0 && (module.exports = {
|
package/sum.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Add all the numbers together in the given array.
|
|
3
|
-
*
|
|
2
|
+
* Add all the numbers together in the given array.
|
|
3
|
+
* Non-numbers will be coerced into numbers if possible.
|
|
4
4
|
*/
|
|
5
|
-
declare function sum(numbers:
|
|
5
|
+
declare function sum(numbers: unknown[]): number;
|
|
6
6
|
|
|
7
7
|
export { sum };
|
package/sum.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Add all the numbers together in the given array.
|
|
3
|
-
*
|
|
2
|
+
* Add all the numbers together in the given array.
|
|
3
|
+
* Non-numbers will be coerced into numbers if possible.
|
|
4
4
|
*/
|
|
5
|
-
declare function sum(numbers:
|
|
5
|
+
declare function sum(numbers: unknown[]): number;
|
|
6
6
|
|
|
7
7
|
export { sum };
|
package/sum.min.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var t=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var s=(r,n)=>{for(var e in n)t(r,e,{get:n[e],enumerable:!0})},p=(r,n,e,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let u of b(n))!f.call(r,u)&&u!==e&&t(r,u,{get:()=>n[u],enumerable:!(o=m(n,u))||o.enumerable});return r};var c=r=>p(t({},"__esModule",{value:!0}),r);var w={};s(w,{sum:()=>k});module.exports=c(w);function i(r){if(typeof r=="number"&&isFinite(r))return r;let n=Number(r);return typeof n=="number"&&isFinite(n)?n:0}function k(r){return r.reduce((n,e)=>n+i(e),0)}0&&(module.exports={sum});
|
|
2
2
|
//# sourceMappingURL=sum.min.cjs.map
|
package/sum.min.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/sum.ts"],"sourcesContent":["/**\n * Add all the numbers together in the given array
|
|
1
|
+
{"version":3,"sources":["../src/sum.ts","../src/asNumber.ts"],"sourcesContent":["import { asNumber } from \"./asNumber\";\n\n/**\n * Add all the numbers together in the given array.\n * Non-numbers will be coerced into numbers if possible.\n */\nexport function sum(numbers: unknown[]): number {\n return numbers.reduce((accumulated: number, current: unknown) => {\n return accumulated + asNumber(current);\n }, 0);\n}\n","/**\n * Coerce `u` into a number if possible, otherwise just return 0.\n */\nexport function asNumber(u: unknown): number {\n // No transformation needed if u is already a number.\n if (typeof u === \"number\" && isFinite(u)) {\n return u;\n }\n\n // Try to make into a number if possible.\n const n = Number(u);\n if (typeof n === \"number\" && isFinite(n)) {\n return n;\n }\n\n // Return 0 for everything else. This is usually ok if want to just ignore\n // all other noise.\n return 0;\n}\n"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,SAAAE,IAAA,eAAAC,EAAAH,GCGO,SAASI,EAASC,EAAoB,CAE3C,GAAI,OAAOA,GAAM,UAAY,SAASA,CAAC,EACrC,OAAOA,EAIT,IAAM,EAAI,OAAOA,CAAC,EAClB,OAAI,OAAO,GAAM,UAAY,SAAS,CAAC,EAC9B,EAKF,CACT,CDZO,SAASC,EAAIC,EAA4B,CAC9C,OAAOA,EAAQ,OAAO,CAACC,EAAqBC,IACnCD,EAAcE,EAASD,CAAO,EACpC,CAAC,CACN","names":["sum_exports","__export","sum","__toCommonJS","asNumber","u","sum","numbers","accumulated","current","asNumber"]}
|
package/sum.min.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function
|
|
1
|
+
function e(n){if(typeof n=="number"&&isFinite(n))return n;let r=Number(n);return typeof r=="number"&&isFinite(r)?r:0}function i(n){return n.reduce((r,u)=>r+e(u),0)}export{i as sum};
|
|
2
2
|
//# sourceMappingURL=sum.min.mjs.map
|
package/sum.min.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/sum.ts"],"sourcesContent":["/**\n *
|
|
1
|
+
{"version":3,"sources":["../src/asNumber.ts","../src/sum.ts"],"sourcesContent":["/**\n * Coerce `u` into a number if possible, otherwise just return 0.\n */\nexport function asNumber(u: unknown): number {\n // No transformation needed if u is already a number.\n if (typeof u === \"number\" && isFinite(u)) {\n return u;\n }\n\n // Try to make into a number if possible.\n const n = Number(u);\n if (typeof n === \"number\" && isFinite(n)) {\n return n;\n }\n\n // Return 0 for everything else. This is usually ok if want to just ignore\n // all other noise.\n return 0;\n}\n","import { asNumber } from \"./asNumber\";\n\n/**\n * Add all the numbers together in the given array.\n * Non-numbers will be coerced into numbers if possible.\n */\nexport function sum(numbers: unknown[]): number {\n return numbers.reduce((accumulated: number, current: unknown) => {\n return accumulated + asNumber(current);\n }, 0);\n}\n"],"mappings":"AAGO,SAASA,EAASC,EAAoB,CAE3C,GAAI,OAAOA,GAAM,UAAY,SAASA,CAAC,EACrC,OAAOA,EAIT,IAAMC,EAAI,OAAOD,CAAC,EAClB,OAAI,OAAOC,GAAM,UAAY,SAASA,CAAC,EAC9BA,EAKF,CACT,CCZO,SAASC,EAAIC,EAA4B,CAC9C,OAAOA,EAAQ,OAAO,CAACC,EAAqBC,IACnCD,EAAcE,EAASD,CAAO,EACpC,CAAC,CACN","names":["asNumber","u","n","sum","numbers","accumulated","current","asNumber"]}
|
package/sum.mjs
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
|
+
// src/asNumber.ts
|
|
2
|
+
function asNumber(u) {
|
|
3
|
+
if (typeof u === "number" && isFinite(u)) {
|
|
4
|
+
return u;
|
|
5
|
+
}
|
|
6
|
+
const n = Number(u);
|
|
7
|
+
if (typeof n === "number" && isFinite(n)) {
|
|
8
|
+
return n;
|
|
9
|
+
}
|
|
10
|
+
return 0;
|
|
11
|
+
}
|
|
12
|
+
|
|
1
13
|
// src/sum.ts
|
|
2
14
|
function sum(numbers) {
|
|
3
|
-
return numbers.reduce(
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
return accumulated + value;
|
|
7
|
-
},
|
|
8
|
-
0
|
|
9
|
-
);
|
|
15
|
+
return numbers.reduce((accumulated, current) => {
|
|
16
|
+
return accumulated + asNumber(current);
|
|
17
|
+
}, 0);
|
|
10
18
|
}
|
|
11
19
|
export {
|
|
12
20
|
sum
|