@e280/stz 0.0.0-27 → 0.0.0-28

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.0.0-27",
3
+ "version": "0.0.0-28",
4
4
  "description": "everyday ts fns for everything",
5
5
  "license": "MIT",
6
6
  "author": "Chase Moskal <chasemoskal@gmail.com>",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "devDependencies": {
26
26
  "@e280/science": "^0.0.5",
27
- "@types/node": "^24.0.4",
27
+ "@types/node": "^24.0.7",
28
28
  "npm-run-all": "^4.1.5",
29
29
  "typescript": "^5.8.3"
30
30
  },
package/s/index.ts CHANGED
@@ -31,6 +31,5 @@ export * from "./pipe.js"
31
31
  export * from "./repeatly.js"
32
32
  export * from "./pubsub.js"
33
33
  export * from "./time.js"
34
- export * from "./tracker.js"
35
34
  export * from "./trash.js"
36
35
 
package/x/index.d.ts CHANGED
@@ -27,5 +27,4 @@ export * from "./pipe.js";
27
27
  export * from "./repeatly.js";
28
28
  export * from "./pubsub.js";
29
29
  export * from "./time.js";
30
- export * from "./tracker.js";
31
30
  export * from "./trash.js";
package/x/index.js CHANGED
@@ -27,6 +27,5 @@ export * from "./pipe.js";
27
27
  export * from "./repeatly.js";
28
28
  export * from "./pubsub.js";
29
29
  export * from "./time.js";
30
- export * from "./tracker.js";
31
30
  export * from "./trash.js";
32
31
  //# sourceMappingURL=index.js.map
package/x/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../s/index.ts"],"names":[],"mappings":"AACA,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAE7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AAEnC,cAAc,gBAAgB,CAAA;AAE9B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../s/index.ts"],"names":[],"mappings":"AACA,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAE7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AAEnC,cAAc,gBAAgB,CAAA;AAE9B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA"}
package/s/tracker.ts DELETED
@@ -1,57 +0,0 @@
1
-
2
- import {Sub, sub} from "./pubsub.js"
3
-
4
- /**
5
- * tracking system for state management.
6
- * - it tracks when items are seen or changed
7
- *
8
- * for item integration,
9
- * - items can call `tracker.see(this)` when they are accessed
10
- * - items can call `tracker.change(this)` when they are reassigned
11
- *
12
- * for reactivity integration,
13
- * - run `tracker.seen(renderFn)`, collecting a set of seen items
14
- * - loop over each seen item, attach a changed handler `tracker.changed(item, handlerFn)`
15
- */
16
- export class Tracker<Item extends object = any> {
17
- #seeables: Set<Item>[] = []
18
- #changeables = new WeakMap<Item, Sub>()
19
-
20
- /** indicate item was accessed */
21
- see(item: Item) {
22
- this.#seeables.at(-1)?.add(item)
23
- }
24
-
25
- /** collect which items were seen during fn */
26
- seen<R>(fn: () => R) {
27
- this.#seeables.push(new Set())
28
- const result = fn()
29
- const seen = this.#seeables.pop()!
30
- return {seen, result}
31
- }
32
-
33
- /** indicate item was changed */
34
- change(item: Item) {
35
- this.#guaranteeChangeable(item).pub()
36
- }
37
-
38
- /** respond to changes by calling fn */
39
- changed(item: Item, fn: () => void) {
40
- return this.#guaranteeChangeable(item)(fn)
41
- }
42
-
43
- #guaranteeChangeable(item: Item) {
44
- let on = this.#changeables.get(item)
45
- if (!on) {
46
- on = sub()
47
- this.#changeables.set(item, on)
48
- }
49
- return on
50
- }
51
- }
52
-
53
- const key = Symbol.for("e280.tracker")
54
-
55
- /** standard global tracker for integrations */
56
- export const tracker: Tracker = (globalThis as any)[key] ??= new Tracker()
57
-
package/x/tracker.d.ts DELETED
@@ -1,28 +0,0 @@
1
- /**
2
- * tracking system for state management.
3
- * - it tracks when items are seen or changed
4
- *
5
- * for item integration,
6
- * - items can call `tracker.see(this)` when they are accessed
7
- * - items can call `tracker.change(this)` when they are reassigned
8
- *
9
- * for reactivity integration,
10
- * - run `tracker.seen(renderFn)`, collecting a set of seen items
11
- * - loop over each seen item, attach a changed handler `tracker.changed(item, handlerFn)`
12
- */
13
- export declare class Tracker<Item extends object = any> {
14
- #private;
15
- /** indicate item was accessed */
16
- see(item: Item): void;
17
- /** collect which items were seen during fn */
18
- seen<R>(fn: () => R): {
19
- seen: Set<Item>;
20
- result: R;
21
- };
22
- /** indicate item was changed */
23
- change(item: Item): void;
24
- /** respond to changes by calling fn */
25
- changed(item: Item, fn: () => void): () => void;
26
- }
27
- /** standard global tracker for integrations */
28
- export declare const tracker: Tracker;
package/x/tracker.js DELETED
@@ -1,48 +0,0 @@
1
- import { sub } from "./pubsub.js";
2
- /**
3
- * tracking system for state management.
4
- * - it tracks when items are seen or changed
5
- *
6
- * for item integration,
7
- * - items can call `tracker.see(this)` when they are accessed
8
- * - items can call `tracker.change(this)` when they are reassigned
9
- *
10
- * for reactivity integration,
11
- * - run `tracker.seen(renderFn)`, collecting a set of seen items
12
- * - loop over each seen item, attach a changed handler `tracker.changed(item, handlerFn)`
13
- */
14
- export class Tracker {
15
- #seeables = [];
16
- #changeables = new WeakMap();
17
- /** indicate item was accessed */
18
- see(item) {
19
- this.#seeables.at(-1)?.add(item);
20
- }
21
- /** collect which items were seen during fn */
22
- seen(fn) {
23
- this.#seeables.push(new Set());
24
- const result = fn();
25
- const seen = this.#seeables.pop();
26
- return { seen, result };
27
- }
28
- /** indicate item was changed */
29
- change(item) {
30
- this.#guaranteeChangeable(item).pub();
31
- }
32
- /** respond to changes by calling fn */
33
- changed(item, fn) {
34
- return this.#guaranteeChangeable(item)(fn);
35
- }
36
- #guaranteeChangeable(item) {
37
- let on = this.#changeables.get(item);
38
- if (!on) {
39
- on = sub();
40
- this.#changeables.set(item, on);
41
- }
42
- return on;
43
- }
44
- }
45
- const key = Symbol.for("e280.tracker");
46
- /** standard global tracker for integrations */
47
- export const tracker = globalThis[key] ??= new Tracker();
48
- //# sourceMappingURL=tracker.js.map
package/x/tracker.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"tracker.js","sourceRoot":"","sources":["../s/tracker.ts"],"names":[],"mappings":"AACA,OAAO,EAAM,GAAG,EAAC,MAAM,aAAa,CAAA;AAEpC;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,OAAO;IACnB,SAAS,GAAgB,EAAE,CAAA;IAC3B,YAAY,GAAG,IAAI,OAAO,EAAa,CAAA;IAEvC,iCAAiC;IACjC,GAAG,CAAC,IAAU;QACb,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAED,8CAA8C;IAC9C,IAAI,CAAI,EAAW;QAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;QAC9B,MAAM,MAAM,GAAG,EAAE,EAAE,CAAA;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAG,CAAA;QAClC,OAAO,EAAC,IAAI,EAAE,MAAM,EAAC,CAAA;IACtB,CAAC;IAED,gCAAgC;IAChC,MAAM,CAAC,IAAU;QAChB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAA;IACtC,CAAC;IAED,uCAAuC;IACvC,OAAO,CAAC,IAAU,EAAE,EAAc;QACjC,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED,oBAAoB,CAAC,IAAU;QAC9B,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACpC,IAAI,CAAC,EAAE,EAAE,CAAC;YACT,EAAE,GAAG,GAAG,EAAE,CAAA;YACV,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAChC,CAAC;QACD,OAAO,EAAE,CAAA;IACV,CAAC;CACD;AAED,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AAEtC,+CAA+C;AAC/C,MAAM,CAAC,MAAM,OAAO,GAAa,UAAkB,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,EAAE,CAAA"}