@gesslar/toolkit 1.2.0 → 1.5.0

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": "@gesslar/toolkit",
3
- "version": "1.2.0",
3
+ "version": "1.5.0",
4
4
  "description": "Get in, bitches, we're going toolkitting.",
5
5
  "main": "./src/index.js",
6
6
  "type": "module",
@@ -3,8 +3,10 @@
3
3
 
4
4
  export {default as Collection} from "./lib/Collection.js"
5
5
  export {default as Data} from "./lib/Data.js"
6
- export {default as Disposable} from "./lib/Disposable.js"
6
+ export {default as Disposer} from "./lib/Disposer.js"
7
+ export {Disposer as DisposerClass} from "./lib/Disposer.js"
7
8
  export {default as HTML} from "./lib/HTML.js"
9
+ export {HTML as HTMLClass} from "./lib/HTML.js"
8
10
  export {default as Notify} from "./lib/Notify.js"
9
11
  export {default as Sass} from "./lib/Sass.js"
10
12
  export {default as Tantrum} from "./lib/Tantrum.js"
@@ -27,6 +27,7 @@ export default class Data {
27
27
  "Undefined",
28
28
 
29
29
  // Object Categories from typeof
30
+ "AsyncFunction",
30
31
  "Function",
31
32
  "Object",
32
33
  ])
@@ -40,6 +41,7 @@ export default class Data {
40
41
  static constructors = Object.freeze([
41
42
  // Object Constructors
42
43
  "Array",
44
+ "AsyncFunction",
43
45
  "Date",
44
46
  "Error",
45
47
  "Float32Array",
@@ -190,6 +192,11 @@ export default class Data {
190
192
  if(type === "object")
191
193
  return value.constructor.name
192
194
 
195
+ if(type === "function") {
196
+ if(value.constructor.name === "AsyncFunction")
197
+ return "AsyncFunction"
198
+ }
199
+
193
200
  const [first, ...rest] = Array.from(type)
194
201
 
195
202
  return `${first?.toLocaleUpperCase() ?? ""}${rest.join("")}`
@@ -1,18 +1,41 @@
1
+ import Valid from "./Valid.js"
2
+
1
3
  /**
2
4
  * Simple lifecycle helper that tracks disposer callbacks.
3
5
  * Register any teardown functions and call dispose() to run them in reverse.
4
6
  */
5
- export default class Disposable {
7
+ export class Disposer {
6
8
  #disposers = []
7
9
  #disposed = false
10
+ #noop = () => {}
8
11
 
9
12
  /**
10
13
  * Registers a disposer callback to be executed when disposed.
11
14
  *
12
- * @param {() => void} disposer - Cleanup callback.
13
- * @returns {() => void} Function to unregister the disposer.
15
+ * Accepts one or more callbacks (or a single array) and returns matching
16
+ * unregisters. A single disposer returns a single unregister for
17
+ * convenience.
18
+ *
19
+ * @param {...(() => void)|Array<() => void>} disposers - Cleanup callbacks.
20
+ * @returns {(() => void)|Array<() => void>} Unregister function(s).
14
21
  */
15
- registerDisposer(disposer) {
22
+ register(...disposers) {
23
+ const normalized = this.#normalizeDisposers(disposers)
24
+
25
+ if(this.#disposed) {
26
+ return normalized.length === 1
27
+ ? this.#noop
28
+ : normalized.map(() => this.#noop)
29
+ }
30
+
31
+ const unregisters = normalized.map(
32
+ disposer => this.#registerDisposer(disposer)
33
+ )
34
+
35
+ return unregisters.length === 1 ? unregisters[0] : unregisters
36
+ }
37
+
38
+ #registerDisposer(disposer) {
16
39
  if(this.#disposed || typeof disposer !== "function")
17
40
  return () => {}
18
41
 
@@ -46,6 +69,18 @@ export default class Disposable {
46
69
  throw new AggregateError(errors, "Errors occurred during disposal.")
47
70
  }
48
71
 
72
+ #normalizeDisposers(disposers) {
73
+ const normalized = (
74
+ disposers.length === 1 && Array.isArray(disposers[0])
75
+ ? disposers[0]
76
+ : disposers
77
+ )
78
+
79
+ Valid.type(normalized, "Function[]")
80
+
81
+ return normalized
82
+ }
83
+
49
84
  /**
50
85
  * Whether disposal has run.
51
86
  *
@@ -71,3 +106,5 @@ export default class Disposable {
71
106
  this.#disposers.splice(index, 1)
72
107
  }
73
108
  }
109
+
110
+ export default new Disposer()
@@ -1,7 +1,7 @@
1
1
  import DOMPurify from "./vendor/dompurify.esm.js"
2
2
  import Sass from "./Sass.js"
3
3
 
4
- export default class HTML {
4
+ export class HTML {
5
5
  #domPurify
6
6
 
7
7
  /**
@@ -135,3 +135,5 @@ export default class HTML {
135
135
  throw Sass.new("DOMPurify sanitization is unavailable in this environment.")
136
136
  }
137
137
  }
138
+
139
+ export default new HTML()
@@ -0,0 +1,82 @@
1
+ import Sass from "./Sass.js"
2
+ import Valid from "./Valid.js"
3
+
4
+ class PipeClass {
5
+ name = "Pipe"
6
+
7
+ #lastResult
8
+ #it = 0
9
+
10
+ constructor(func) {
11
+ Valid.type(func, "Function|AsyncFunction|Promise")
12
+
13
+ this.#processStart(func)
14
+ }
15
+
16
+ static source(func) {
17
+ return new this(func)
18
+ }
19
+
20
+ async then(func) {
21
+ if(++this.it > 2)
22
+ throw new Error("hi")
23
+
24
+ console.log("then", this.#lastResult, "func", func)
25
+
26
+ this.#lastResult =
27
+ this.#lastResult.then(prev => this.#resolve(func, prev))
28
+
29
+ return this
30
+ /*
31
+
32
+ this.#processThen(func)
33
+
34
+ return this
35
+ */
36
+ }
37
+
38
+ get value() {
39
+ return this.#processResult()
40
+ }
41
+
42
+ #processStart(func) {
43
+ console.log("start", func)
44
+
45
+ this.#lastResult = Promise.resolve(this.#resolve(func))
46
+ }
47
+
48
+ #processThen(func) {
49
+ if(++this.#it > 2)
50
+ throw new Error("hi")
51
+
52
+ this.#lastResult = this.#lastResult.then(prev => this.#resolve(func, prev))
53
+ }
54
+
55
+ #processResult() {
56
+ const result = this.#lastResult
57
+ this.#lastResult = undefined
58
+
59
+ return result
60
+ }
61
+
62
+ #resolve = (val, prev) => typeof val === "function" ? val(prev) : val
63
+ }
64
+
65
+ export default new Proxy(PipeClass, {
66
+ apply(target, _, argumentsList) {
67
+ return target.source(...argumentsList)
68
+ },
69
+
70
+ construct(..._) {
71
+ throw new Sass("This class may not be instantiated in this manner.")
72
+ },
73
+
74
+ get(target, prop) {
75
+ // Hide 'source' method from public API
76
+ if(prop === "source") {
77
+ return undefined
78
+ }
79
+
80
+ return Reflect.get(target, prop)
81
+ }
82
+ })
@@ -1,6 +1,7 @@
1
+ import Collection from "./Collection.js"
2
+ import Data from "./Data.js"
1
3
  import Sass from "./Sass.js"
2
4
  import Valid from "./Valid.js"
3
- import Collection from "./Collection.js"
4
5
 
5
6
  /**
6
7
  * Utility class providing common helper functions for string manipulation,
@@ -254,4 +255,13 @@ export default class Util {
254
255
  .join("")
255
256
  , flags?.join(""))
256
257
  }
258
+
259
+ static disasyncify(func) {
260
+ Valid.type(func, "Function|AsyncFunction")
261
+
262
+ if(Data.isType(func, "Function"))
263
+ return func
264
+
265
+ return (async(...arg) => await func(...arg))()
266
+ }
257
267
  }
@@ -0,0 +1,25 @@
1
+ import {setTimeout as timeout} from "node:timers/promises"
2
+ import Pipe from "./Hook.js"
3
+ import Disposer from "./Disposer.js"
4
+
5
+ const step1 = () => 1
6
+ const step2 = num => num+1
7
+ const step3 = num => num+1
8
+ const step4 = async num => {
9
+ console.log("Waiting for",num,typeof num)
10
+ await timeout(5_000)
11
+
12
+ return num + 1
13
+ }
14
+ const step5 = num => num+1
15
+ const step6 = num => num+1
16
+
17
+ const result = await Pipe(step1)
18
+ .then(step2)
19
+ .then(step3)
20
+ .then(step4)
21
+ .then(step5)
22
+ .then(step6)
23
+ .result
24
+
25
+ console.log("result", result)
@@ -0,0 +1,46 @@
1
+ import {setTimeout as timeout} from "node:timers/promises"
2
+
3
+ const step1 = () => 1
4
+ const step2 = num => num+1
5
+ const step3 = num => num+1
6
+ const step4 = async num => {
7
+ console.log("Waiting for",num,typeof num)
8
+ await timeout(5_000)
9
+
10
+ return num + 1
11
+ }
12
+ const step5 = num => num+1
13
+ const step6 = num => num+1
14
+
15
+ function Pipe(initialPromise) {
16
+ console.log("start", initialPromise)
17
+
18
+ const resolve = (val, prev) =>
19
+ typeof val === "function" ? val(prev) : val
20
+
21
+ let chain = Promise.resolve(resolve(initialPromise))
22
+
23
+ return {
24
+ then(promiseOrFn) {
25
+ console.log("then", chain, "func", promiseOrFn)
26
+
27
+ chain = chain.then(prev => resolve(promiseOrFn, prev))
28
+
29
+ return this
30
+ },
31
+
32
+ get result() {
33
+ return chain
34
+ }
35
+ }
36
+ }
37
+
38
+ const result = await Pipe(step1)
39
+ .then(step2)
40
+ .then(step3)
41
+ .then(step4)
42
+ .then(step5)
43
+ .then(step6)
44
+ .result
45
+
46
+ console.log("result", result)
package/src/index.js CHANGED
@@ -1,7 +1,8 @@
1
1
  // Browser-compatible utilities (pure JS)
2
2
  export {default as Collection} from "./browser/lib/Collection.js"
3
3
  export {default as Data} from "./browser/lib/Data.js"
4
- export {default as Disposable} from "./browser/lib/Disposable.js"
4
+ export {default as Disposer} from "./browser/lib/Disposer.js"
5
+ export {Disposer as DisposerClass} from "./browser/lib/Disposer.js"
5
6
  export {default as Type} from "./browser/lib/TypeSpec.js"
6
7
  export {default as Valid} from "./lib/Valid.js"
7
8
 
@@ -1,11 +1,11 @@
1
1
  export { default as Collection } from "./lib/Collection.js";
2
2
  export { default as Data } from "./lib/Data.js";
3
- export { default as Disposable } from "./lib/Disposable.js";
4
- export { default as HTML } from "./lib/HTML.js";
5
3
  export { default as Notify } from "./lib/Notify.js";
6
4
  export { default as Sass } from "./lib/Sass.js";
7
5
  export { default as Tantrum } from "./lib/Tantrum.js";
8
6
  export { default as Type } from "./lib/TypeSpec.js";
9
7
  export { default as Util } from "./lib/Util.js";
10
8
  export { default as Valid } from "./lib/Valid.js";
9
+ export { default as Disposer, Disposer as DisposerClass } from "./lib/Disposer.js";
10
+ export { default as HTML, HTML as HTMLClass } from "./lib/HTML.js";
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Data.d.ts","sourceRoot":"","sources":["../../../browser/lib/Data.js"],"names":[],"mappings":"AAUA;IACA;;;;;OAKG;IACD,mBAFQ,KAAK,CAAC,MAAM,CAAC,CAgBnB;IAEF;;;;;OAKG;IACH,qBAFU,KAAK,CAAC,MAAM,CAAC,CAmBrB;IAEF;;;;;;;OAOG;IACH,kBAFU,KAAK,CAAC,MAAM,CAAC,CAKrB;IAEF;;;;;OAKG;IACH,uBAFU,KAAK,CAAC,MAAM,CAAC,CAE6C;IAEpE;;;;;;OAMG;IACH,4BAJW,MAAM,UACN,MAAM,GACJ,MAAM,CAIlB;IAED;;;;;;OAMG;IACH,6BAJW,MAAM,WACN,MAAM,GACJ,MAAM,CAIlB;IAED;;;;;;;OAOG;IACH,2BAJW,MAAM,WACN,MAAM,GACJ,KAAK,CAAC,MAAM,CAAC,CAIzB;IAED;;;;;;;OAOG;IACH,qBALW,OAAO,QACP,MAAM,GAAC,QAAQ,YACf,MAAM,GACJ,OAAO,CAQnB;IAED;;;;;OAKG;IACH,yBAHW,MAAM,GACJ,OAAO,CASnB;IAED;;;;;;;;OAQG;IACH,yBAJW,OAAO,QACP,MAAM,GACJ,OAAO,CAwBnB;IAED;;;;;OAKG;IACH,qBAHW,OAAO,GACL,MAAM,CAclB;IAED;;;;;OAKG;IACH,wBAHW,OAAO,GACL,OAAO,CAInB;IAED;;;;;;;;OAQG;IACH,sBALW,OAAO,oBACP,OAAO,GAEL,OAAO,CA2BnB;IAED;;;;;OAKG;IACH,6BAHW,MAAM,GACJ,MAAM,CAmBlB;IAED;;;;;;;OAOG;IACH,6BAJW,MAAM,QACN,KAAK,CAAC,MAAM,CAAC,GACX,MAAM,CAiBlB;IAED;;;;;;;OAOG;IACH,2BAJW,MAAM,QACN,KAAK,CAAC,MAAM,CAAC,SACb,OAAO,QAMjB;IAED;;;;;OAKG;IACH,+BAHc,MAAM,EAAA,GACP,MAAM,CAqBlB;IAED;;;;;;;OAOG;IACH,wBAJW,KAAK,CAAC,OAAO,CAAC,aACd,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAClC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAMnC;IAED;;;;;;;OAOG;IACH,kBALW,MAAM,OACN,MAAM,OACN,MAAM,GACJ,MAAM,CAIlB;IAED;;;;;;;OAOG;IACH,oBALW,MAAM,OACN,MAAM,OACN,MAAM,GACJ,OAAO,CAInB;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,4BAbW,OAAO,GACL,OAAO,CA+BnB;IAED;;;;;;;;;;;;;;;OAeG;IACH,uBAXW,OAAO,GACL,OAAO,CAgBnB;CACF;qBA5aoB,eAAe"}
1
+ {"version":3,"file":"Data.d.ts","sourceRoot":"","sources":["../../../browser/lib/Data.js"],"names":[],"mappings":"AAUA;IACA;;;;;OAKG;IACD,mBAFQ,KAAK,CAAC,MAAM,CAAC,CAiBnB;IAEF;;;;;OAKG;IACH,qBAFU,KAAK,CAAC,MAAM,CAAC,CAoBrB;IAEF;;;;;;;OAOG;IACH,kBAFU,KAAK,CAAC,MAAM,CAAC,CAKrB;IAEF;;;;;OAKG;IACH,uBAFU,KAAK,CAAC,MAAM,CAAC,CAE6C;IAEpE;;;;;;OAMG;IACH,4BAJW,MAAM,UACN,MAAM,GACJ,MAAM,CAIlB;IAED;;;;;;OAMG;IACH,6BAJW,MAAM,WACN,MAAM,GACJ,MAAM,CAIlB;IAED;;;;;;;OAOG;IACH,2BAJW,MAAM,WACN,MAAM,GACJ,KAAK,CAAC,MAAM,CAAC,CAIzB;IAED;;;;;;;OAOG;IACH,qBALW,OAAO,QACP,MAAM,GAAC,QAAQ,YACf,MAAM,GACJ,OAAO,CAQnB;IAED;;;;;OAKG;IACH,yBAHW,MAAM,GACJ,OAAO,CASnB;IAED;;;;;;;;OAQG;IACH,yBAJW,OAAO,QACP,MAAM,GACJ,OAAO,CAwBnB;IAED;;;;;OAKG;IACH,qBAHW,OAAO,GACL,MAAM,CAmBlB;IAED;;;;;OAKG;IACH,wBAHW,OAAO,GACL,OAAO,CAInB;IAED;;;;;;;;OAQG;IACH,sBALW,OAAO,oBACP,OAAO,GAEL,OAAO,CA2BnB;IAED;;;;;OAKG;IACH,6BAHW,MAAM,GACJ,MAAM,CAmBlB;IAED;;;;;;;OAOG;IACH,6BAJW,MAAM,QACN,KAAK,CAAC,MAAM,CAAC,GACX,MAAM,CAiBlB;IAED;;;;;;;OAOG;IACH,2BAJW,MAAM,QACN,KAAK,CAAC,MAAM,CAAC,SACb,OAAO,QAMjB;IAED;;;;;OAKG;IACH,+BAHc,MAAM,EAAA,GACP,MAAM,CAqBlB;IAED;;;;;;;OAOG;IACH,wBAJW,KAAK,CAAC,OAAO,CAAC,aACd,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAClC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAMnC;IAED;;;;;;;OAOG;IACH,kBALW,MAAM,OACN,MAAM,OACN,MAAM,GACJ,MAAM,CAIlB;IAED;;;;;;;OAOG;IACH,oBALW,MAAM,OACN,MAAM,OACN,MAAM,GACJ,OAAO,CAInB;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,4BAbW,OAAO,GACL,OAAO,CA+BnB;IAED;;;;;;;;;;;;;;;OAeG;IACH,uBAXW,OAAO,GACL,OAAO,CAgBnB;CACF;qBAnboB,eAAe"}
@@ -2,32 +2,34 @@
2
2
  * Simple lifecycle helper that tracks disposer callbacks.
3
3
  * Register any teardown functions and call dispose() to run them in reverse.
4
4
  */
5
- export default class Disposable {
6
- /**
7
- * Registers a disposer callback to be executed when disposed.
8
- *
9
- * @param {() => void} disposer - Cleanup callback.
10
- * @returns {() => void} Function to unregister the disposer.
11
- */
12
- registerDisposer(disposer: () => void): () => void;
13
- /**
14
- * Runs all registered disposers in reverse order.
15
- *
16
- * @returns {void}
17
- */
18
- dispose(): void;
19
- /**
20
- * Whether disposal has run.
21
- *
22
- * @returns {boolean} True when dispose() has already been called.
23
- */
24
- get disposed(): boolean;
25
- /**
26
- * Read-only list of registered disposers.
27
- *
28
- * @returns {Array<() => void>} Snapshot of disposer callbacks.
29
- */
30
- get disposers(): Array<() => void>;
31
- #private;
5
+ export class Disposer {
6
+ /**
7
+ * Registers a disposer callback to be executed when disposed.
8
+ *
9
+ * @param {...(() => void)|Array<() => void>} disposers - Cleanup callbacks.
10
+ * @returns {(() => void)|Array<() => void>} Function(s) to unregister the disposer(s).
11
+ */
12
+ register(...disposers: Array<(() => void) | Array<() => void>>): (() => void) | Array<() => void>;
13
+ /**
14
+ * Runs all registered disposers in reverse order.
15
+ *
16
+ * @returns {void}
17
+ */
18
+ dispose(): void;
19
+ /**
20
+ * Whether disposal has run.
21
+ *
22
+ * @returns {boolean} True when dispose() has already been called.
23
+ */
24
+ get disposed(): boolean;
25
+ /**
26
+ * Read-only list of registered disposers.
27
+ *
28
+ * @returns {Array<() => void>} Snapshot of disposer callbacks.
29
+ */
30
+ get disposers(): Array<() => void>;
31
+ #private;
32
32
  }
33
- //# sourceMappingURL=Disposable.d.ts.map
33
+ declare const _default: Disposer;
34
+ export default _default;
35
+ //# sourceMappingURL=Disposer.d.ts.map
@@ -1 +1,10 @@
1
- {"version":3,"file":"Disposable.d.ts","sourceRoot":"","sources":["../../../browser/lib/Disposable.js"],"names":[],"mappings":"AAAA;;;GAGG;AACH;IAIE;;;;;OAKG;IACH,2BAHW,MAAM,IAAI,GACR,MAAM,IAAI,CAStB;IAED;;;;OAIG;IACH,WAFa,IAAI,CAoBhB;IAED;;;;OAIG;IACH,gBAFa,OAAO,CAInB;IAED;;;;OAIG;IACH,iBAFa,KAAK,CAAC,MAAM,IAAI,CAAC,CAI7B;;CAQF"}
1
+ {
2
+ "version": 3,
3
+ "file": "Disposer.d.ts",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "../../../browser/lib/Disposer.js"
7
+ ],
8
+ "names": [],
9
+ "mappings": "AAAA;;;GAGG;AACH;IAIE;;;;;OAKG;IACH,2BAHW,MAAM,IAAI,GACR,MAAM,IAAI,CAStB;IAED;;;;OAIG;IACH,WAFa,IAAI,CAoBhB;IAED;;;;OAIG;IACH,gBAFa,OAAO,CAInB;IAED;;;;OAIG;IACH,iBAFa,KAAK,CAAC,MAAM,IAAI,CAAC,CAI7B;;CAQF"
10
+ }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Simple lifecycle helper that tracks disposer callbacks.
3
+ * Register any teardown functions and call dispose() to run them in reverse.
4
+ */
5
+ export class Disposer {
6
+ /**
7
+ * Registers a disposer callback to be executed when disposed.
8
+ *
9
+ * Accepts one or more callbacks (or a single array) and returns matching
10
+ * unregisters. A single disposer returns a single unregister for
11
+ * convenience.
12
+ *
13
+ * @param {...(() => void)|Array<() => void>} disposers - Cleanup callbacks.
14
+ * @returns {(() => void)|Array<() => void>} Unregister function(s).
15
+ */
16
+ register(...disposers: ((() => void) | Array<() => void>)[]): (() => void) | Array<() => void>;
17
+ /**
18
+ * Runs all registered disposers in reverse order.
19
+ *
20
+ * @returns {void}
21
+ */
22
+ dispose(): void;
23
+ /**
24
+ * Whether disposal has run.
25
+ *
26
+ * @returns {boolean} True when dispose() has already been called.
27
+ */
28
+ get disposed(): boolean;
29
+ /**
30
+ * Read-only list of registered disposers.
31
+ *
32
+ * @returns {Array<() => void>} Snapshot of disposer callbacks.
33
+ */
34
+ get disposers(): Array<() => void>;
35
+ #private;
36
+ }
37
+ declare const _default: Disposer;
38
+ export default _default;
39
+ //# sourceMappingURL=Disposer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Disposer.d.ts","sourceRoot":"","sources":["../../../browser/lib/Disposer.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH;IAKE;;;;;;;;;OASG;IACH,uBAHW,CAAG,CAAC,MAAM,IAAI,CAAC,GAAC,KAAK,CAAC,MAAM,IAAI,CAAC,GAAA,GAC/B,CAAC,MAAM,IAAI,CAAC,GAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAgB1C;IAWD;;;;OAIG;IACH,WAFa,IAAI,CAoBhB;IAcD;;;;OAIG;IACH,gBAFa,OAAO,CAInB;IAED;;;;OAIG;IACH,iBAFa,KAAK,CAAC,MAAM,IAAI,CAAC,CAI7B;;CAQF"}
@@ -1,4 +1,4 @@
1
- export default class HTML {
1
+ export class HTML {
2
2
  /**
3
3
  * Lightweight HTML helper utilities for browser contexts.
4
4
  *
@@ -35,4 +35,6 @@ export default class HTML {
35
35
  clearHTMLContent(element: Element): void;
36
36
  #private;
37
37
  }
38
+ declare const _default: HTML;
39
+ export default _default;
38
40
  //# sourceMappingURL=HTML.d.ts.map
@@ -0,0 +1,11 @@
1
+ declare const _default: typeof PipeClass;
2
+ export default _default;
3
+ declare class PipeClass {
4
+ static source(func: any): PipeClass;
5
+ constructor(func: any);
6
+ name: string;
7
+ then(func: any): Promise<this>;
8
+ get value(): any;
9
+ #private;
10
+ }
11
+ //# sourceMappingURL=Hook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hook.d.ts","sourceRoot":"","sources":["../../../browser/lib/Hook.js"],"names":[],"mappings":";;AAGA;IAYE,oCAEC;IARD,uBAIC;IATD,aAAa;IAeb,+BAgBC;IAED,iBAEC;;CAuBF"}
@@ -125,5 +125,6 @@ export default class Util {
125
125
  */
126
126
  static findClosestMatch(input: string, allowedValues: Array<string>, threshold?: number): string;
127
127
  static regexify(input: any, trim?: boolean, flags?: any[]): RegExp;
128
+ static disasyncify(func: any): any;
128
129
  }
129
130
  //# sourceMappingURL=Util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Util.d.ts","sourceRoot":"","sources":["../../../browser/lib/Util.js"],"names":[],"mappings":"AAIA;;;GAGG;AACH;IACE;;;;;OAKG;IACH,wBAHW,MAAM,GACJ,MAAM,CAYlB;IAED;;;;;;OAMG;IACH,YAJa,CAAC,MACH,MAAM,OAAO,CAAC,CAAC,CAAC,GACd,OAAO,CAAC;QAAC,MAAM,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC,CAQ9C;IAED;;;;;;;OAOG;IACH,4BAJW,MAAM,GAAC,MAAM,UACb,MAAM,GACJ,MAAM,CAWlB;IAED;;;;;;;OAOG;IACH,6BAJW,MAAM,GAAC,MAAM,UACb,MAAM,GACJ,MAAM,CAalB;IAED;;;;;;OAMG;IACH,0BAHW,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GACrB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAInC;IAED;;;;;;OAMG;IACH,2BAHW,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GACrB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAIlC;IAED;;;;;OAKG;IACH,2BAHW,KAAK,CAAC,MAAM,CAAC,GACX,OAAO,CAInB;IAED;;;;;OAKG;IACH,kCAHW,KAAK,CAAC,MAAM,CAAC,GACX,KAAK,CAAC,MAAM,CAAC,CAIzB;IAED;;;;;OAKG;IACH,iCAHW,KAAK,CAAC,MAAM,CAAC,GACX,KAAK,CAAC,OAAO,CAAC,CAI1B;IAED;;;;;;OAMG;IACH,gCAJW,MAAM,YACN,KAAK,CAAC,MAAM,CAAC,QAKvB;IAED;;;;;OAKG;IACH,mCAHW,KAAK,CAAC,MAAM,CAAC,GACX,KAAK,CAAC,MAAM,CAAC,CAIzB;IAED;;;;;OAKG;IACH,+BAHW,KAAK,CAAC,MAAM,CAAC,GACX,KAAK,CAAC,OAAO,CAAC,CAI1B;IAED;;;;;;OAMG;IACH,sBAHW,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GACrB,OAAO,CAAC,OAAO,CAAC,CAI5B;IAED;;;;;;OAMG;IACH,8BAJW,MAAM,KACN,MAAM,GACJ,MAAM,CAsBlB;IAED;;;;;;;;OAQG;IACH,+BALW,MAAM,iBACN,KAAK,CAAC,MAAM,CAAC,cACb,MAAM,GACJ,MAAM,CAwBlB;IAED,mEAiBC;CACF"}
1
+ {"version":3,"file":"Util.d.ts","sourceRoot":"","sources":["../../../browser/lib/Util.js"],"names":[],"mappings":"AAKA;;;GAGG;AACH;IACE;;;;;OAKG;IACH,wBAHW,MAAM,GACJ,MAAM,CAYlB;IAED;;;;;;OAMG;IACH,YAJa,CAAC,MACH,MAAM,OAAO,CAAC,CAAC,CAAC,GACd,OAAO,CAAC;QAAC,MAAM,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC,CAQ9C;IAED;;;;;;;OAOG;IACH,4BAJW,MAAM,GAAC,MAAM,UACb,MAAM,GACJ,MAAM,CAWlB;IAED;;;;;;;OAOG;IACH,6BAJW,MAAM,GAAC,MAAM,UACb,MAAM,GACJ,MAAM,CAalB;IAED;;;;;;OAMG;IACH,0BAHW,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GACrB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAInC;IAED;;;;;;OAMG;IACH,2BAHW,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GACrB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAIlC;IAED;;;;;OAKG;IACH,2BAHW,KAAK,CAAC,MAAM,CAAC,GACX,OAAO,CAInB;IAED;;;;;OAKG;IACH,kCAHW,KAAK,CAAC,MAAM,CAAC,GACX,KAAK,CAAC,MAAM,CAAC,CAIzB;IAED;;;;;OAKG;IACH,iCAHW,KAAK,CAAC,MAAM,CAAC,GACX,KAAK,CAAC,OAAO,CAAC,CAI1B;IAED;;;;;;OAMG;IACH,gCAJW,MAAM,YACN,KAAK,CAAC,MAAM,CAAC,QAKvB;IAED;;;;;OAKG;IACH,mCAHW,KAAK,CAAC,MAAM,CAAC,GACX,KAAK,CAAC,MAAM,CAAC,CAIzB;IAED;;;;;OAKG;IACH,+BAHW,KAAK,CAAC,MAAM,CAAC,GACX,KAAK,CAAC,OAAO,CAAC,CAI1B;IAED;;;;;;OAMG;IACH,sBAHW,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GACrB,OAAO,CAAC,OAAO,CAAC,CAI5B;IAED;;;;;;OAMG;IACH,8BAJW,MAAM,KACN,MAAM,GACJ,MAAM,CAsBlB;IAED;;;;;;;;OAQG;IACH,+BALW,MAAM,iBACN,KAAK,CAAC,MAAM,CAAC,cACb,MAAM,GACJ,MAAM,CAwBlB;IAED,mEAiBC;IAED,mCAOC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../browser/lib/test.js"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test2.d.ts","sourceRoot":"","sources":["../../../browser/lib/test2.js"],"names":[],"mappings":""}
@@ -1,6 +1,5 @@
1
1
  export { default as Collection } from "./browser/lib/Collection.js";
2
2
  export { default as Data } from "./browser/lib/Data.js";
3
- export { default as Disposable } from "./browser/lib/Disposable.js";
4
3
  export { default as Type } from "./browser/lib/TypeSpec.js";
5
4
  export { default as Valid } from "./lib/Valid.js";
6
5
  export { default as Sass } from "./lib/Sass.js";
@@ -15,4 +14,5 @@ export { default as Glog } from "./lib/Glog.js";
15
14
  export { default as Schemer } from "./lib/Schemer.js";
16
15
  export { default as Term } from "./lib/Term.js";
17
16
  export { default as Terms } from "./lib/Terms.js";
17
+ export { default as Disposer, Disposer as DisposerClass } from "./browser/lib/Disposer.js";
18
18
  //# sourceMappingURL=index.d.ts.map
@@ -2,32 +2,32 @@
2
2
  * Simple lifecycle helper that tracks disposer callbacks.
3
3
  * Register any teardown functions and call dispose() to run them in reverse.
4
4
  */
5
- export default class Disposable {
6
- /**
7
- * Registers a disposer callback to be executed when disposed.
8
- *
9
- * @param {() => void} disposer - Cleanup callback.
10
- * @returns {() => void} Function to unregister the disposer.
11
- */
12
- registerDisposer(disposer: () => void): () => void;
13
- /**
14
- * Runs all registered disposers in reverse order.
15
- *
16
- * @returns {void}
17
- */
18
- dispose(): void;
19
- /**
20
- * Whether disposal has run.
21
- *
22
- * @returns {boolean} True when dispose() has already been called.
23
- */
24
- get disposed(): boolean;
25
- /**
26
- * Read-only list of registered disposers.
27
- *
28
- * @returns {Array<() => void>} Snapshot of disposer callbacks.
29
- */
30
- get disposers(): Array<() => void>;
31
- #private;
5
+ export default class Disposer {
6
+ /**
7
+ * Registers a disposer callback to be executed when disposed.
8
+ *
9
+ * @param {...(() => void)|Array<() => void>} disposers - Cleanup callbacks.
10
+ * @returns {(() => void)|Array<() => void>} Function(s) to unregister the disposer(s).
11
+ */
12
+ register(...disposers: Array<(() => void) | Array<() => void>>): (() => void) | Array<() => void>;
13
+ /**
14
+ * Runs all registered disposers in reverse order.
15
+ *
16
+ * @returns {void}
17
+ */
18
+ dispose(): void;
19
+ /**
20
+ * Whether disposal has run.
21
+ *
22
+ * @returns {boolean} True when dispose() has already been called.
23
+ */
24
+ get disposed(): boolean;
25
+ /**
26
+ * Read-only list of registered disposers.
27
+ *
28
+ * @returns {Array<() => void>} Snapshot of disposer callbacks.
29
+ */
30
+ get disposers(): Array<() => void>;
31
+ #private;
32
32
  }
33
- //# sourceMappingURL=Disposable.d.ts.map
33
+ //# sourceMappingURL=Disposer.d.ts.map
@@ -1 +1,10 @@
1
- {"version":3,"file":"Disposable.d.ts","sourceRoot":"","sources":["../../lib/Disposable.js"],"names":[],"mappings":"AAAA;;;GAGG;AACH;IAIE;;;;;OAKG;IACH,2BAHW,MAAM,IAAI,GACR,MAAM,IAAI,CAStB;IAED;;;;OAIG;IACH,WAFa,IAAI,CAoBhB;IAED;;;;OAIG;IACH,gBAFa,OAAO,CAInB;IAED;;;;OAIG;IACH,iBAFa,KAAK,CAAC,MAAM,IAAI,CAAC,CAI7B;;CAQF"}
1
+ {
2
+ "version": 3,
3
+ "file": "Disposer.d.ts",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "../../lib/Disposer.js"
7
+ ],
8
+ "names": [],
9
+ "mappings": "AAAA;;;GAGG;AACH;IAIE;;;;;OAKG;IACH,2BAHW,MAAM,IAAI,GACR,MAAM,IAAI,CAStB;IAED;;;;OAIG;IACH,WAFa,IAAI,CAoBhB;IAED;;;;OAIG;IACH,gBAFa,OAAO,CAInB;IAED;;;;OAIG;IACH,iBAFa,KAAK,CAAC,MAAM,IAAI,CAAC,CAI7B;;CAQF"
10
+ }
@@ -1,45 +0,0 @@
1
- /**
2
- * Base helper for UI classes that want centralized event lifecycles.
3
- * Tracks listener disposer functions and registered DOM elements so subclasses
4
- * can easily tear down on removal.
5
- */
6
- export default class Base extends Disposable {
7
- /**
8
- * Assigns an HTMLElement to this object.
9
- *
10
- * @throws {Error} If there is already one assigned.
11
- */
12
- set element(element: HTMLElement);
13
- /**
14
- * Returns the HTMLElement associated with this object.
15
- *
16
- * @returns {HTMLElement} The HTMLElement associated with this object.
17
- */
18
- get element(): HTMLElement;
19
- /**
20
- * Cleans up registered disposers and emits a removal event for subscribers.
21
- *
22
- * @returns {void}
23
- */
24
- remove(): void;
25
- /**
26
- * Registers a Notify listener and tracks its disposer for later cleanup.
27
- *
28
- * @param {string} eventName - Event to subscribe to.
29
- * @param {(evt: Event) => void} func - Handler to invoke.
30
- * @param {HTMLElement | Window} [element] - Target element; defaults to window.
31
- * @param {boolean | object} [options] - addEventListener options.
32
- */
33
- registerOn(eventName: string, func: (evt: Event) => void, element?: HTMLElement | Window, options?: boolean | object): void;
34
- /**
35
- * Resolves a DOM element and optionally registers listener functions on it.
36
- * Each listener's return value is treated as a disposer and tracked.
37
- *
38
- * @param {string} elementId - Selector passed to querySelector.
39
- * @param {((element: Element) => (void | (() => void))) | Array<(element: Element) => (void | (() => void))>} [listenerFunctions] - One or more listener initializers.
40
- */
41
- initialiseElement(elementId: string, listenerFunctions?: ((element: Element) => (void | (() => void))) | Array<(element: Element) => (void | (() => void))>): void;
42
- #private;
43
- }
44
- import Disposable from "./Disposable.js";
45
- //# sourceMappingURL=Base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Base.d.ts","sourceRoot":"","sources":["../../../browser/lib/Base.js"],"names":[],"mappings":"AAIA;;;;GAIG;AACH;IAcE;;;;OAIG;IACH,qBAWa,WAAW,EALvB;IAED;;;;OAIG;IACH,eAFa,WAAW,CAIvB;IAED;;;;OAIG;IACH,UAFa,IAAI,CAQhB;IAED;;;;;;;OAOG;IACH,sBALW,MAAM,QACN,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,YACpB,WAAW,GAAG,MAAM,YACpB,OAAO,GAAG,MAAM,QAM1B;IAED;;;;;;OAMG;IACH,6BAHW,MAAM,sBACN,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,QA8B5G;;CACF;uBA5GsB,iBAAiB"}