@e280/stz 0.3.12 → 0.3.14

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@e280/stz",
3
- "version": "0.3.12",
3
+ "version": "0.3.14",
4
4
  "description": "everyday ts fns for everything",
5
5
  "license": "MIT",
6
6
  "author": "Chase Moskal <chasemoskal@gmail.com>",
@@ -23,7 +23,6 @@
23
23
  },
24
24
  "devDependencies": {
25
25
  "@e280/science": "^0.1.12",
26
- "@types/node": "^26.2.0",
27
26
  "typescript": "^7.0.2"
28
27
  },
29
28
  "keywords": [
package/s/disposer.ts CHANGED
@@ -2,14 +2,17 @@
2
2
  export type Disposer = {
3
3
  (): void
4
4
  schedule: (...fns: (() => void)[]) => Disposer
5
+ own: <X>(x: X, fn: (x: X) => void) => X
5
6
  }
6
7
 
7
8
  export function disposer(): Disposer {
8
9
  let fns: (() => void)[] = []
9
10
 
10
11
  function d() {
11
- for (const fn of fns) fn()
12
+ const doomed = fns
12
13
  fns = []
14
+ for (let i = doomed.length - 1; i >= 0; i--)
15
+ doomed[i]()
13
16
  }
14
17
 
15
18
  d.schedule = (...newFns: (() => void)[]) => {
@@ -17,6 +20,11 @@ export function disposer(): Disposer {
17
20
  return d
18
21
  }
19
22
 
23
+ d.own = <X>(x: X, fn: (x: X) => void) => {
24
+ fns.push(() => fn(x))
25
+ return x
26
+ }
27
+
20
28
  return d
21
29
  }
22
30
 
package/s/error-string.ts CHANGED
@@ -1,7 +1,7 @@
1
1
 
2
2
  export function errorString(error: unknown, fallback = "error"): string {
3
3
  if (typeof error === "string") return error
4
- else if (error instanceof Error) return error.message
4
+ else if (error instanceof Error) return `${error.name}: ${error.message}`
5
5
  else return fallback
6
6
  }
7
7
 
package/x/disposer.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export type Disposer = {
2
2
  (): void;
3
3
  schedule: (...fns: (() => void)[]) => Disposer;
4
+ own: <X>(x: X, fn: (x: X) => void) => X;
4
5
  };
5
6
  export declare function disposer(): Disposer;
package/x/disposer.js CHANGED
@@ -1,14 +1,19 @@
1
1
  export function disposer() {
2
2
  let fns = [];
3
3
  function d() {
4
- for (const fn of fns)
5
- fn();
4
+ const doomed = fns;
6
5
  fns = [];
6
+ for (let i = doomed.length - 1; i >= 0; i--)
7
+ doomed[i]();
7
8
  }
8
9
  d.schedule = (...newFns) => {
9
10
  fns.push(...newFns);
10
11
  return d;
11
12
  };
13
+ d.own = (x, fn) => {
14
+ fns.push(() => fn(x));
15
+ return x;
16
+ };
12
17
  return d;
13
18
  }
14
19
  //# sourceMappingURL=disposer.js.map
package/x/disposer.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"disposer.js","sourceRoot":"","sources":["../s/disposer.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,QAAQ;IACvB,IAAI,GAAG,GAAmB,EAAE,CAAA;IAE5B,SAAS,CAAC;QACT,KAAK,MAAM,EAAE,IAAI,GAAG;YAAE,EAAE,EAAE,CAAA;QAC1B,GAAG,GAAG,EAAE,CAAA;IACT,CAAC;IAED,CAAC,CAAC,QAAQ,GAAG,CAAC,GAAG,MAAsB,EAAE,EAAE;QAC1C,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;QACnB,OAAO,CAAC,CAAA;IACT,CAAC,CAAA;IAED,OAAO,CAAC,CAAA;AACT,CAAC"}
1
+ {"version":3,"file":"disposer.js","sourceRoot":"","sources":["../s/disposer.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,QAAQ;IACvB,IAAI,GAAG,GAAmB,EAAE,CAAA;IAE5B,SAAS,CAAC;QACT,MAAM,MAAM,GAAG,GAAG,CAAA;QAClB,GAAG,GAAG,EAAE,CAAA;QACR,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;IACb,CAAC;IAED,CAAC,CAAC,QAAQ,GAAG,CAAC,GAAG,MAAsB,EAAE,EAAE;QAC1C,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;QACnB,OAAO,CAAC,CAAA;IACT,CAAC,CAAA;IAED,CAAC,CAAC,GAAG,GAAG,CAAI,CAAI,EAAE,EAAkB,EAAE,EAAE;QACvC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACrB,OAAO,CAAC,CAAA;IACT,CAAC,CAAA;IAED,OAAO,CAAC,CAAA;AACT,CAAC"}
package/x/error-string.js CHANGED
@@ -2,7 +2,7 @@ export function errorString(error, fallback = "error") {
2
2
  if (typeof error === "string")
3
3
  return error;
4
4
  else if (error instanceof Error)
5
- return error.message;
5
+ return `${error.name}: ${error.message}`;
6
6
  else
7
7
  return fallback;
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"error-string.js","sourceRoot":"","sources":["../s/error-string.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,WAAW,CAAC,KAAc,EAAE,QAAQ,GAAG,OAAO;IAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;SACtC,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,KAAK,CAAC,OAAO,CAAA;;QAChD,OAAO,QAAQ,CAAA;AACrB,CAAC"}
1
+ {"version":3,"file":"error-string.js","sourceRoot":"","sources":["../s/error-string.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,WAAW,CAAC,KAAc,EAAE,QAAQ,GAAG,OAAO;IAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;SACtC,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAA;;QACpE,OAAO,QAAQ,CAAA;AACrB,CAAC"}