@e280/stz 0.3.11 → 0.3.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@e280/stz",
3
- "version": "0.3.11",
3
+ "version": "0.3.13",
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/utensils/map.ts CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- type MapLike<K, V> = {
2
+ export type MapLike<K, V> = {
3
3
  has(key: K): boolean
4
4
  get(key: K): V | undefined
5
5
  set(key: K, value: V): unknown
@@ -26,9 +26,12 @@ export function guarantee<K, V>(map: MapLike<K, V>, key: K, make: () => V) {
26
26
  }
27
27
  }
28
28
 
29
- export function inserts<K, V, M extends Pick<MapLike<K, V>, "set">>(map: M, entries: Iterable<[K, V]>) {
29
+ export function setEntries<K, V, M extends Pick<MapLike<K, V>, "set">>(map: M, entries: Iterable<[K, V]>) {
30
30
  for (const [key, value] of entries)
31
31
  map.set(key, value)
32
32
  return map
33
33
  }
34
34
 
35
+ /** @deprecated renamed to `setEntries` */
36
+ export const inserts = setEntries
37
+
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"}
@@ -1,9 +1,10 @@
1
- type MapLike<K, V> = {
1
+ export type MapLike<K, V> = {
2
2
  has(key: K): boolean;
3
3
  get(key: K): V | undefined;
4
4
  set(key: K, value: V): unknown;
5
5
  };
6
6
  export declare function need<K, V>(map: Pick<MapLike<K, V>, "has" | "get">, key: K, err?: string): V;
7
7
  export declare function guarantee<K, V>(map: MapLike<K, V>, key: K, make: () => V): V;
8
- export declare function inserts<K, V, M extends Pick<MapLike<K, V>, "set">>(map: M, entries: Iterable<[K, V]>): M;
9
- export {};
8
+ export declare function setEntries<K, V, M extends Pick<MapLike<K, V>, "set">>(map: M, entries: Iterable<[K, V]>): M;
9
+ /** @deprecated renamed to `setEntries` */
10
+ export declare const inserts: typeof setEntries;
package/x/utensils/map.js CHANGED
@@ -13,9 +13,11 @@ export function guarantee(map, key, make) {
13
13
  return value;
14
14
  }
15
15
  }
16
- export function inserts(map, entries) {
16
+ export function setEntries(map, entries) {
17
17
  for (const [key, value] of entries)
18
18
  map.set(key, value);
19
19
  return map;
20
20
  }
21
+ /** @deprecated renamed to `setEntries` */
22
+ export const inserts = setEntries;
21
23
  //# sourceMappingURL=map.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"map.js","sourceRoot":"","sources":["../../s/utensils/map.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,IAAI,CAClB,GAAuC,EACvC,GAAM,EACN,GAAG,GAAG,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,yBAAyB,GAAG,GAAG,CAAC,CAAC,CAAC,sBAAsB,CAAC;IAE3F,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;QACf,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAM,CAAA;;QAExB,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,SAAS,CAAO,GAAkB,EAAE,GAAM,EAAE,IAAa;IACxE,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;QACf,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAE,CAAA;SAChB,CAAC;QACL,MAAM,KAAK,GAAG,IAAI,EAAE,CAAA;QACpB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACnB,OAAO,KAAK,CAAA;IACb,CAAC;AACF,CAAC;AAED,MAAM,UAAU,OAAO,CAA6C,GAAM,EAAE,OAAyB;IACpG,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO;QACjC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACpB,OAAO,GAAG,CAAA;AACX,CAAC"}
1
+ {"version":3,"file":"map.js","sourceRoot":"","sources":["../../s/utensils/map.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,IAAI,CAClB,GAAuC,EACvC,GAAM,EACN,GAAG,GAAG,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,yBAAyB,GAAG,GAAG,CAAC,CAAC,CAAC,sBAAsB,CAAC;IAE3F,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;QACf,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAM,CAAA;;QAExB,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,SAAS,CAAO,GAAkB,EAAE,GAAM,EAAE,IAAa;IACxE,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;QACf,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAE,CAAA;SAChB,CAAC;QACL,MAAM,KAAK,GAAG,IAAI,EAAE,CAAA;QACpB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACnB,OAAO,KAAK,CAAA;IACb,CAAC;AACF,CAAC;AAED,MAAM,UAAU,UAAU,CAA6C,GAAM,EAAE,OAAyB;IACvG,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO;QACjC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACpB,OAAO,GAAG,CAAA;AACX,CAAC;AAED,0CAA0C;AAC1C,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAA"}