@thomas-siegfried/tapout 0.0.1

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.
Files changed (223) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1206 -0
  3. package/dist/applyBindings.d.ts +10 -0
  4. package/dist/applyBindings.d.ts.map +1 -0
  5. package/dist/applyBindings.js +261 -0
  6. package/dist/applyBindings.js.map +1 -0
  7. package/dist/arrayToDomMapping.d.ts +14 -0
  8. package/dist/arrayToDomMapping.d.ts.map +1 -0
  9. package/dist/arrayToDomMapping.js +219 -0
  10. package/dist/arrayToDomMapping.js.map +1 -0
  11. package/dist/attributeInterpolationMarkup.d.ts +6 -0
  12. package/dist/attributeInterpolationMarkup.d.ts.map +1 -0
  13. package/dist/attributeInterpolationMarkup.js +70 -0
  14. package/dist/attributeInterpolationMarkup.js.map +1 -0
  15. package/dist/bindingContext.d.ts +38 -0
  16. package/dist/bindingContext.d.ts.map +1 -0
  17. package/dist/bindingContext.js +138 -0
  18. package/dist/bindingContext.js.map +1 -0
  19. package/dist/bindingEvent.d.ts +33 -0
  20. package/dist/bindingEvent.d.ts.map +1 -0
  21. package/dist/bindingEvent.js +144 -0
  22. package/dist/bindingEvent.js.map +1 -0
  23. package/dist/bindingProvider.d.ts +38 -0
  24. package/dist/bindingProvider.d.ts.map +1 -0
  25. package/dist/bindingProvider.js +145 -0
  26. package/dist/bindingProvider.js.map +1 -0
  27. package/dist/bindings.d.ts +2 -0
  28. package/dist/bindings.d.ts.map +1 -0
  29. package/dist/bindings.js +862 -0
  30. package/dist/bindings.js.map +1 -0
  31. package/dist/compareArrays.d.ts +13 -0
  32. package/dist/compareArrays.d.ts.map +1 -0
  33. package/dist/compareArrays.js +91 -0
  34. package/dist/compareArrays.js.map +1 -0
  35. package/dist/componentBinding.d.ts +4 -0
  36. package/dist/componentBinding.d.ts.map +1 -0
  37. package/dist/componentBinding.js +240 -0
  38. package/dist/componentBinding.js.map +1 -0
  39. package/dist/componentDecorator.d.ts +22 -0
  40. package/dist/componentDecorator.d.ts.map +1 -0
  41. package/dist/componentDecorator.js +32 -0
  42. package/dist/componentDecorator.js.map +1 -0
  43. package/dist/components.d.ts +34 -0
  44. package/dist/components.d.ts.map +1 -0
  45. package/dist/components.js +256 -0
  46. package/dist/components.js.map +1 -0
  47. package/dist/computed.d.ts +54 -0
  48. package/dist/computed.d.ts.map +1 -0
  49. package/dist/computed.js +376 -0
  50. package/dist/computed.js.map +1 -0
  51. package/dist/configure.d.ts +4 -0
  52. package/dist/configure.d.ts.map +1 -0
  53. package/dist/configure.js +48 -0
  54. package/dist/configure.js.map +1 -0
  55. package/dist/controlFlowBindings.d.ts +2 -0
  56. package/dist/controlFlowBindings.d.ts.map +1 -0
  57. package/dist/controlFlowBindings.js +151 -0
  58. package/dist/controlFlowBindings.js.map +1 -0
  59. package/dist/core.d.ts +29 -0
  60. package/dist/core.d.ts.map +1 -0
  61. package/dist/core.js +27 -0
  62. package/dist/core.js.map +1 -0
  63. package/dist/decorators.d.ts +40 -0
  64. package/dist/decorators.d.ts.map +1 -0
  65. package/dist/decorators.js +276 -0
  66. package/dist/decorators.js.map +1 -0
  67. package/dist/dependencyDetection.d.ts +21 -0
  68. package/dist/dependencyDetection.d.ts.map +1 -0
  69. package/dist/dependencyDetection.js +53 -0
  70. package/dist/dependencyDetection.js.map +1 -0
  71. package/dist/disposable.d.ts +12 -0
  72. package/dist/disposable.d.ts.map +1 -0
  73. package/dist/disposable.js +29 -0
  74. package/dist/disposable.js.map +1 -0
  75. package/dist/domData.d.ts +6 -0
  76. package/dist/domData.d.ts.map +1 -0
  77. package/dist/domData.js +40 -0
  78. package/dist/domData.js.map +1 -0
  79. package/dist/domNodeDisposal.d.ts +7 -0
  80. package/dist/domNodeDisposal.d.ts.map +1 -0
  81. package/dist/domNodeDisposal.js +78 -0
  82. package/dist/domNodeDisposal.js.map +1 -0
  83. package/dist/effects.d.ts +13 -0
  84. package/dist/effects.d.ts.map +1 -0
  85. package/dist/effects.js +24 -0
  86. package/dist/effects.js.map +1 -0
  87. package/dist/event.d.ts +38 -0
  88. package/dist/event.d.ts.map +1 -0
  89. package/dist/event.js +138 -0
  90. package/dist/event.js.map +1 -0
  91. package/dist/expressionRewriting.d.ts +22 -0
  92. package/dist/expressionRewriting.d.ts.map +1 -0
  93. package/dist/expressionRewriting.js +169 -0
  94. package/dist/expressionRewriting.js.map +1 -0
  95. package/dist/extenders.d.ts +17 -0
  96. package/dist/extenders.d.ts.map +1 -0
  97. package/dist/extenders.js +75 -0
  98. package/dist/extenders.js.map +1 -0
  99. package/dist/filters.d.ts +5 -0
  100. package/dist/filters.d.ts.map +1 -0
  101. package/dist/filters.js +81 -0
  102. package/dist/filters.js.map +1 -0
  103. package/dist/index.d.ts +45 -0
  104. package/dist/index.d.ts.map +1 -0
  105. package/dist/index.js +35 -0
  106. package/dist/index.js.map +1 -0
  107. package/dist/interpolationMarkup.d.ts +6 -0
  108. package/dist/interpolationMarkup.d.ts.map +1 -0
  109. package/dist/interpolationMarkup.js +110 -0
  110. package/dist/interpolationMarkup.js.map +1 -0
  111. package/dist/memoization.d.ts +7 -0
  112. package/dist/memoization.d.ts.map +1 -0
  113. package/dist/memoization.js +59 -0
  114. package/dist/memoization.js.map +1 -0
  115. package/dist/namespacedBindings.d.ts +7 -0
  116. package/dist/namespacedBindings.d.ts.map +1 -0
  117. package/dist/namespacedBindings.js +81 -0
  118. package/dist/namespacedBindings.js.map +1 -0
  119. package/dist/observable.d.ts +13 -0
  120. package/dist/observable.d.ts.map +1 -0
  121. package/dist/observable.js +39 -0
  122. package/dist/observable.js.map +1 -0
  123. package/dist/observableArray.d.ts +58 -0
  124. package/dist/observableArray.d.ts.map +1 -0
  125. package/dist/observableArray.js +328 -0
  126. package/dist/observableArray.js.map +1 -0
  127. package/dist/options.d.ts +14 -0
  128. package/dist/options.d.ts.map +1 -0
  129. package/dist/options.js +12 -0
  130. package/dist/options.js.map +1 -0
  131. package/dist/selectExtensions.d.ts +4 -0
  132. package/dist/selectExtensions.d.ts.map +1 -0
  133. package/dist/selectExtensions.js +67 -0
  134. package/dist/selectExtensions.js.map +1 -0
  135. package/dist/slotBinding.d.ts +2 -0
  136. package/dist/slotBinding.d.ts.map +1 -0
  137. package/dist/slotBinding.js +63 -0
  138. package/dist/slotBinding.js.map +1 -0
  139. package/dist/subscribable.d.ts +57 -0
  140. package/dist/subscribable.d.ts.map +1 -0
  141. package/dist/subscribable.js +211 -0
  142. package/dist/subscribable.js.map +1 -0
  143. package/dist/tasks.d.ts +8 -0
  144. package/dist/tasks.d.ts.map +1 -0
  145. package/dist/tasks.js +68 -0
  146. package/dist/tasks.js.map +1 -0
  147. package/dist/templateEngine.d.ts +37 -0
  148. package/dist/templateEngine.d.ts.map +1 -0
  149. package/dist/templateEngine.js +60 -0
  150. package/dist/templateEngine.js.map +1 -0
  151. package/dist/templateRendering.d.ts +8 -0
  152. package/dist/templateRendering.d.ts.map +1 -0
  153. package/dist/templateRendering.js +322 -0
  154. package/dist/templateRendering.js.map +1 -0
  155. package/dist/templateRewriting.d.ts +7 -0
  156. package/dist/templateRewriting.d.ts.map +1 -0
  157. package/dist/templateRewriting.js +63 -0
  158. package/dist/templateRewriting.js.map +1 -0
  159. package/dist/templateSources.d.ts +19 -0
  160. package/dist/templateSources.d.ts.map +1 -0
  161. package/dist/templateSources.js +110 -0
  162. package/dist/templateSources.js.map +1 -0
  163. package/dist/utils.d.ts +8 -0
  164. package/dist/utils.d.ts.map +1 -0
  165. package/dist/utils.js +100 -0
  166. package/dist/utils.js.map +1 -0
  167. package/dist/utilsDom.d.ts +8 -0
  168. package/dist/utilsDom.d.ts.map +1 -0
  169. package/dist/utilsDom.js +81 -0
  170. package/dist/utilsDom.js.map +1 -0
  171. package/dist/virtualElements.d.ts +12 -0
  172. package/dist/virtualElements.d.ts.map +1 -0
  173. package/dist/virtualElements.js +141 -0
  174. package/dist/virtualElements.js.map +1 -0
  175. package/dist/wireParams.d.ts +6 -0
  176. package/dist/wireParams.d.ts.map +1 -0
  177. package/dist/wireParams.js +39 -0
  178. package/dist/wireParams.js.map +1 -0
  179. package/package.json +55 -0
  180. package/src/applyBindings.ts +372 -0
  181. package/src/arrayToDomMapping.ts +300 -0
  182. package/src/attributeInterpolationMarkup.ts +91 -0
  183. package/src/bindingContext.ts +207 -0
  184. package/src/bindingEvent.ts +198 -0
  185. package/src/bindingProvider.ts +260 -0
  186. package/src/bindings.ts +963 -0
  187. package/src/compareArrays.ts +122 -0
  188. package/src/componentBinding.ts +318 -0
  189. package/src/componentDecorator.ts +62 -0
  190. package/src/components.ts +367 -0
  191. package/src/computed.ts +439 -0
  192. package/src/configure.ts +52 -0
  193. package/src/controlFlowBindings.ts +206 -0
  194. package/src/core.ts +60 -0
  195. package/src/decorators.ts +407 -0
  196. package/src/dependencyDetection.ts +76 -0
  197. package/src/disposable.ts +36 -0
  198. package/src/domData.ts +42 -0
  199. package/src/domNodeDisposal.ts +94 -0
  200. package/src/effects.ts +29 -0
  201. package/src/event.ts +173 -0
  202. package/src/expressionRewriting.ts +219 -0
  203. package/src/extenders.ts +102 -0
  204. package/src/filters.ts +91 -0
  205. package/src/index.ts +150 -0
  206. package/src/interpolationMarkup.ts +130 -0
  207. package/src/memoization.ts +71 -0
  208. package/src/namespacedBindings.ts +132 -0
  209. package/src/observable.ts +48 -0
  210. package/src/observableArray.ts +397 -0
  211. package/src/options.ts +25 -0
  212. package/src/selectExtensions.ts +68 -0
  213. package/src/slotBinding.ts +84 -0
  214. package/src/subscribable.ts +266 -0
  215. package/src/tasks.ts +79 -0
  216. package/src/templateEngine.ts +108 -0
  217. package/src/templateRendering.ts +399 -0
  218. package/src/templateRewriting.ts +94 -0
  219. package/src/templateSources.ts +134 -0
  220. package/src/utils.ts +123 -0
  221. package/src/utilsDom.ts +87 -0
  222. package/src/virtualElements.ts +153 -0
  223. package/src/wireParams.ts +49 -0
package/dist/core.js ADDED
@@ -0,0 +1,27 @@
1
+ export { options } from './options.js';
2
+ export const version = '1.0.0';
3
+ export { Subscribable, Subscription, isSubscribable, isReadableSubscribable, valuesArePrimitiveAndEqual } from './subscribable.js';
4
+ export { begin, end, registerDependency, ignore, getDependenciesCount, getDependencies, isInitial, getCurrentComputed, } from './dependencyDetection.js';
5
+ export { Observable, isObservable } from './observable.js';
6
+ export { ObservableArray, isObservableArray, DESTROY, isDestroyed } from './observableArray.js';
7
+ export { compareArrays, findMovesInArrayComparison } from './compareArrays.js';
8
+ export { Computed, PureComputed, isComputed, isPureComputed } from './computed.js';
9
+ export { registerExtender, throttle, debounce } from './extenders.js';
10
+ export { effect, observe } from './effects.js';
11
+ export { Event, EventSubscribable, EventSubscription, AggregateEvent, isEvent, isEventSubscribable, isAggregateEvent } from './event.js';
12
+ export { DisposableGroup } from './disposable.js';
13
+ export { reactive, reactiveArray, computed, getObservable, replaceObservable } from './decorators.js';
14
+ export { unwrapObservable, peekObservable, toJS, toJSON, when, catchFunctionErrors, } from './utils.js';
15
+ export { schedule, cancel, runEarly, resetForTesting } from './tasks.js';
16
+ import * as tasks from './tasks.js';
17
+ export { tasks };
18
+ import { Observable } from './observable.js';
19
+ import { Computed } from './computed.js';
20
+ export function isWritableObservable(value) {
21
+ if (value instanceof Observable)
22
+ return true;
23
+ if (value instanceof Computed)
24
+ return value.hasWriteFunction;
25
+ return false;
26
+ }
27
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAGnI,OAAO,EACL,KAAK,EACL,GAAG,EACH,kBAAkB,EAClB,MAAM,EACN,oBAAoB,EACpB,eAAe,EACf,SAAS,EACT,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEhG,OAAO,EAAE,aAAa,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAG/E,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGnF,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAGtE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGzI,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEtG,OAAO,EACL,gBAAgB,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EACpD,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,KAAK,YAAY,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,KAAK,YAAY,QAAQ;QAAE,OAAO,KAAK,CAAC,gBAAgB,CAAC;IAC7D,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { Subscribable } from './subscribable.js';
2
+ import type { ExtenderOptions } from './extenders.js';
3
+ type AnySubscribable = Subscribable<any>;
4
+ interface LegacyFieldDescriptor {
5
+ configurable?: boolean;
6
+ enumerable?: boolean;
7
+ writable?: boolean;
8
+ initializer?: (this: object) => unknown;
9
+ }
10
+ /**
11
+ * A decorator function returned by reactive(options) / reactiveArray(options).
12
+ * Works as either a Stage 3 accessor decorator or a legacy property decorator.
13
+ */
14
+ export interface ReactivePropertyDecorator {
15
+ <This, Value>(value: ClassAccessorDecoratorTarget<This, Value>, context: ClassAccessorDecoratorContext<This, Value>): ClassAccessorDecoratorResult<This, Value>;
16
+ (target: object, propertyKey: string | symbol): void;
17
+ }
18
+ export declare function reactive<This, Value>(value: ClassAccessorDecoratorTarget<This, Value>, context: ClassAccessorDecoratorContext<This, Value>): ClassAccessorDecoratorResult<This, Value>;
19
+ export declare function reactive(target: object, propertyKey: string | symbol): void;
20
+ export declare function reactive(target: object, propertyKey: string | symbol, descriptor: LegacyFieldDescriptor): PropertyDescriptor;
21
+ export declare function reactive(options: ExtenderOptions): ReactivePropertyDecorator;
22
+ export declare function reactiveArray<This, Value>(value: ClassAccessorDecoratorTarget<This, Value>, context: ClassAccessorDecoratorContext<This, Value>): ClassAccessorDecoratorResult<This, Value>;
23
+ export declare function reactiveArray(target: object, propertyKey: string | symbol): void;
24
+ export declare function reactiveArray(target: object, propertyKey: string | symbol, descriptor: LegacyFieldDescriptor): PropertyDescriptor;
25
+ export declare function reactiveArray(options: ExtenderOptions): ReactivePropertyDecorator;
26
+ type AnyFunction = (...args: any[]) => any;
27
+ /**
28
+ * A decorator function returned by or used as @computed.
29
+ * Works as either a Stage 3 getter/setter/method decorator or a legacy method decorator.
30
+ */
31
+ export interface ComputedMethodDecorator {
32
+ <This, Value>(value: AnyFunction, context: ClassGetterDecoratorContext<This, Value> | ClassMethodDecoratorContext<This, AnyFunction> | ClassSetterDecoratorContext<This, Value>): AnyFunction | void;
33
+ (target: object, propertyKey: string | symbol, descriptor: PropertyDescriptor): PropertyDescriptor | void;
34
+ }
35
+ export declare function computed<This, Value>(value: AnyFunction, context: ClassGetterDecoratorContext<This, Value> | ClassMethodDecoratorContext<This, AnyFunction> | ClassSetterDecoratorContext<This, Value>): AnyFunction | void;
36
+ export declare function computed(target: object, propertyKey: string | symbol, descriptor: PropertyDescriptor): PropertyDescriptor | void;
37
+ export declare function getObservable(target: object, key: string | symbol): AnySubscribable | undefined;
38
+ export declare function replaceObservable(instance: object, key: string | symbol, obs: AnySubscribable): void;
39
+ export {};
40
+ //# sourceMappingURL=decorators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,276 @@
1
+ import { Observable } from './observable.js';
2
+ import { ObservableArray } from './observableArray.js';
3
+ import { Computed } from './computed.js';
4
+ import { registerDependency } from './dependencyDetection.js';
5
+ // --- Observable registry for getObservable() ---
6
+ const accessorRegistry = new Map();
7
+ const computedStorage = new WeakMap();
8
+ function storeObservable(instance, key, obs) {
9
+ let instanceMap = accessorRegistry.get(key);
10
+ if (!instanceMap) {
11
+ instanceMap = new WeakMap();
12
+ accessorRegistry.set(key, instanceMap);
13
+ }
14
+ instanceMap.set(instance, obs);
15
+ }
16
+ function lookupObservable(instance, key) {
17
+ const instanceMap = accessorRegistry.get(key);
18
+ if (instanceMap) {
19
+ return instanceMap.get(instance);
20
+ }
21
+ const compMap = computedStorage.get(instance);
22
+ if (compMap) {
23
+ return compMap.get(key);
24
+ }
25
+ return undefined;
26
+ }
27
+ // --- Detection helper ---
28
+ function isStage3Context(arg) {
29
+ return typeof arg === 'object' && arg !== null && 'kind' in arg;
30
+ }
31
+ // --- @reactive: Stage 3 accessor path ---
32
+ function createStage3Reactive(extenders) {
33
+ return (_value, context) => ({
34
+ init(initialValue) {
35
+ const obs = new Observable(initialValue);
36
+ if (extenders)
37
+ obs.extend(extenders);
38
+ storeObservable(this, context.name, obs);
39
+ return obs;
40
+ },
41
+ get() {
42
+ const obs = lookupObservable(this, context.name);
43
+ return obs.get();
44
+ },
45
+ set(newValue) {
46
+ const obs = lookupObservable(this, context.name);
47
+ obs.set(newValue);
48
+ },
49
+ });
50
+ }
51
+ function applyLegacyReactive(target, propertyKey, descriptor, extenders) {
52
+ const initializer = descriptor?.initializer;
53
+ const newDesc = {
54
+ configurable: true,
55
+ enumerable: true,
56
+ get() {
57
+ let obs = lookupObservable(this, propertyKey);
58
+ if (!obs) {
59
+ const initValue = initializer ? initializer.call(this) : undefined;
60
+ obs = new Observable(initValue);
61
+ if (extenders)
62
+ obs.extend(extenders);
63
+ storeObservable(this, propertyKey, obs);
64
+ }
65
+ return obs.get();
66
+ },
67
+ set(value) {
68
+ let obs = lookupObservable(this, propertyKey);
69
+ if (!obs) {
70
+ obs = new Observable(value);
71
+ if (extenders)
72
+ obs.extend(extenders);
73
+ storeObservable(this, propertyKey, obs);
74
+ }
75
+ else {
76
+ obs.set(value);
77
+ }
78
+ },
79
+ };
80
+ if (!descriptor || typeof descriptor.initializer === 'undefined') {
81
+ Object.defineProperty(target, propertyKey, newDesc);
82
+ }
83
+ return newDesc;
84
+ }
85
+ export function reactive(valueOrOptions, contextOrKey, descriptor) {
86
+ if (contextOrKey === undefined) {
87
+ const ext = valueOrOptions;
88
+ return function (target, contextOrKey2, descriptor2) {
89
+ if (isStage3Context(contextOrKey2)) {
90
+ return createStage3Reactive(ext)(target, contextOrKey2);
91
+ }
92
+ return applyLegacyReactive(target, contextOrKey2, descriptor2, ext);
93
+ };
94
+ }
95
+ if (isStage3Context(contextOrKey)) {
96
+ return createStage3Reactive()(valueOrOptions, contextOrKey);
97
+ }
98
+ return applyLegacyReactive(valueOrOptions, contextOrKey, descriptor);
99
+ }
100
+ // --- @reactiveArray: Stage 3 accessor path ---
101
+ function createStage3ReactiveArray(extenders) {
102
+ return (_value, context) => ({
103
+ init(initialValue) {
104
+ const arr = Array.isArray(initialValue) ? initialValue : [];
105
+ const obs = new ObservableArray(arr);
106
+ if (extenders)
107
+ obs.extend(extenders);
108
+ storeObservable(this, context.name, obs);
109
+ return obs;
110
+ },
111
+ get() {
112
+ const obs = lookupObservable(this, context.name);
113
+ registerDependency(obs);
114
+ return obs;
115
+ },
116
+ set(newValue) {
117
+ const obs = lookupObservable(this, context.name);
118
+ obs.set(newValue);
119
+ },
120
+ });
121
+ }
122
+ // --- @reactiveArray: Legacy property decorator path ---
123
+ function applyLegacyReactiveArray(target, propertyKey, descriptor, extenders) {
124
+ const initializer = descriptor?.initializer;
125
+ const newDesc = {
126
+ configurable: true,
127
+ enumerable: true,
128
+ get() {
129
+ let obs = lookupObservable(this, propertyKey);
130
+ if (!obs) {
131
+ const initValue = initializer ? initializer.call(this) : undefined;
132
+ const arr = Array.isArray(initValue) ? initValue : [];
133
+ obs = new ObservableArray(arr);
134
+ if (extenders)
135
+ obs.extend(extenders);
136
+ storeObservable(this, propertyKey, obs);
137
+ }
138
+ registerDependency(obs);
139
+ return obs;
140
+ },
141
+ set(value) {
142
+ let obs = lookupObservable(this, propertyKey);
143
+ if (!obs) {
144
+ const arr = Array.isArray(value) ? value : [];
145
+ obs = new ObservableArray(arr);
146
+ if (extenders)
147
+ obs.extend(extenders);
148
+ storeObservable(this, propertyKey, obs);
149
+ }
150
+ else {
151
+ obs.set(value);
152
+ }
153
+ },
154
+ };
155
+ if (!descriptor || typeof descriptor.initializer === 'undefined') {
156
+ Object.defineProperty(target, propertyKey, newDesc);
157
+ }
158
+ return newDesc;
159
+ }
160
+ export function reactiveArray(valueOrOptions, contextOrKey, descriptor) {
161
+ if (contextOrKey === undefined) {
162
+ const ext = valueOrOptions;
163
+ return function (target, contextOrKey2, descriptor2) {
164
+ if (isStage3Context(contextOrKey2)) {
165
+ return createStage3ReactiveArray(ext)(target, contextOrKey2);
166
+ }
167
+ return applyLegacyReactiveArray(target, contextOrKey2, descriptor2, ext);
168
+ };
169
+ }
170
+ if (isStage3Context(contextOrKey)) {
171
+ return createStage3ReactiveArray()(valueOrOptions, contextOrKey);
172
+ }
173
+ return applyLegacyReactiveArray(valueOrOptions, contextOrKey, descriptor);
174
+ }
175
+ // --- @computed ---
176
+ function getOrCreateComputed(instance, key, readFn, writeFn) {
177
+ let map = computedStorage.get(instance);
178
+ if (!map) {
179
+ map = new Map();
180
+ computedStorage.set(instance, map);
181
+ }
182
+ let comp = map.get(key);
183
+ if (!comp) {
184
+ comp = new Computed({
185
+ read: readFn,
186
+ write: writeFn,
187
+ deferEvaluation: true,
188
+ });
189
+ map.set(key, comp);
190
+ }
191
+ return comp;
192
+ }
193
+ // Stage 3 @computed implementation
194
+ function applyStage3Computed(value, context) {
195
+ const { kind, name } = context;
196
+ if (kind === 'getter') {
197
+ const originalGetter = value;
198
+ return function () {
199
+ const comp = getOrCreateComputed(this, name, originalGetter.bind(this));
200
+ return comp.get();
201
+ };
202
+ }
203
+ if (kind === 'setter') {
204
+ const originalSetter = value;
205
+ return function (newValue) {
206
+ const map = computedStorage.get(this);
207
+ const comp = map?.get(name);
208
+ if (comp) {
209
+ comp.set(newValue);
210
+ }
211
+ else {
212
+ originalSetter.call(this, newValue);
213
+ }
214
+ };
215
+ }
216
+ if (kind === 'method') {
217
+ const originalMethod = value;
218
+ return function () {
219
+ const comp = getOrCreateComputed(this, name, originalMethod.bind(this));
220
+ return comp.get();
221
+ };
222
+ }
223
+ }
224
+ // Legacy @computed implementation (method / getter+setter decorator)
225
+ function applyLegacyComputed(_target, propertyKey, descriptor) {
226
+ if (descriptor.get) {
227
+ const originalGetter = descriptor.get;
228
+ const originalSetter = descriptor.set;
229
+ descriptor.get = function () {
230
+ const comp = getOrCreateComputed(this, propertyKey, originalGetter.bind(this), originalSetter ? originalSetter.bind(this) : undefined);
231
+ return comp.get();
232
+ };
233
+ if (originalSetter) {
234
+ descriptor.set = function (value) {
235
+ const map = computedStorage.get(this);
236
+ const comp = map?.get(propertyKey);
237
+ if (comp) {
238
+ comp.set(value);
239
+ }
240
+ else {
241
+ originalSetter.call(this, value);
242
+ }
243
+ };
244
+ }
245
+ return descriptor;
246
+ }
247
+ if (typeof descriptor.value === 'function') {
248
+ const originalMethod = descriptor.value;
249
+ descriptor.value = function () {
250
+ const comp = getOrCreateComputed(this, propertyKey, originalMethod.bind(this));
251
+ return comp.get();
252
+ };
253
+ return descriptor;
254
+ }
255
+ return descriptor;
256
+ }
257
+ // Implementation
258
+ export function computed(valueOrTarget, contextOrKey, descriptor) {
259
+ if (isStage3Context(contextOrKey)) {
260
+ return applyStage3Computed(valueOrTarget, contextOrKey);
261
+ }
262
+ return applyLegacyComputed(valueOrTarget, contextOrKey, descriptor);
263
+ }
264
+ // --- getObservable() / replaceObservable() ---
265
+ export function getObservable(target, key) {
266
+ let obs = lookupObservable(target, key);
267
+ if (!obs) {
268
+ void target[key];
269
+ obs = lookupObservable(target, key);
270
+ }
271
+ return obs;
272
+ }
273
+ export function replaceObservable(instance, key, obs) {
274
+ storeObservable(instance, key, obs);
275
+ }
276
+ //# sourceMappingURL=decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { type Subscribable } from './subscribable.js';
2
+ type AnySubscribable = Subscribable<any>;
3
+ export interface TrackingFrame {
4
+ callback: (subscribable: AnySubscribable, id: number) => void;
5
+ computed?: {
6
+ getDependenciesCount(): number;
7
+ getDependencies(): AnySubscribable[];
8
+ };
9
+ isInitial?: boolean;
10
+ }
11
+ export declare function getId(): number;
12
+ export declare function begin(frame?: TrackingFrame): void;
13
+ export declare function end(): void;
14
+ export declare function registerDependency(subscribable: AnySubscribable): void;
15
+ export declare function ignore<R>(callback: () => R): R;
16
+ export declare function getDependenciesCount(): number | undefined;
17
+ export declare function getDependencies(): AnySubscribable[] | undefined;
18
+ export declare function isInitial(): boolean | undefined;
19
+ export declare function getCurrentComputed(): TrackingFrame['computed'] | undefined;
20
+ export {};
21
+ //# sourceMappingURL=dependencyDetection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencyDetection.d.ts","sourceRoot":"","sources":["../src/dependencyDetection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,mBAAmB,CAAC;AAGtE,KAAK,eAAe,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;AAEzC,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,EAAE;QACT,oBAAoB,IAAI,MAAM,CAAC;QAC/B,eAAe,IAAI,eAAe,EAAE,CAAC;KACtC,CAAC;IACF,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAMD,wBAAgB,KAAK,IAAI,MAAM,CAE9B;AAED,wBAAgB,KAAK,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI,CAGjD;AAED,wBAAgB,GAAG,IAAI,IAAI,CAE1B;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,eAAe,GAAG,IAAI,CAUtE;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAO9C;AAED,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAKzD;AAED,wBAAgB,eAAe,IAAI,eAAe,EAAE,GAAG,SAAS,CAK/D;AAED,wBAAgB,SAAS,IAAI,OAAO,GAAG,SAAS,CAK/C;AAED,wBAAgB,kBAAkB,IAAI,aAAa,CAAC,UAAU,CAAC,GAAG,SAAS,CAE1E"}
@@ -0,0 +1,53 @@
1
+ import { isSubscribable } from './subscribable.js';
2
+ let lastId = 0;
3
+ const outerFrames = [];
4
+ let currentFrame;
5
+ export function getId() {
6
+ return ++lastId;
7
+ }
8
+ export function begin(frame) {
9
+ outerFrames.push(currentFrame);
10
+ currentFrame = frame;
11
+ }
12
+ export function end() {
13
+ currentFrame = outerFrames.pop();
14
+ }
15
+ export function registerDependency(subscribable) {
16
+ if (currentFrame) {
17
+ if (!isSubscribable(subscribable)) {
18
+ throw new Error('Only subscribable things can act as dependencies');
19
+ }
20
+ currentFrame.callback(subscribable, subscribable._id || (subscribable._id = getId()));
21
+ }
22
+ }
23
+ export function ignore(callback) {
24
+ try {
25
+ begin();
26
+ return callback();
27
+ }
28
+ finally {
29
+ end();
30
+ }
31
+ }
32
+ export function getDependenciesCount() {
33
+ if (currentFrame?.computed) {
34
+ return currentFrame.computed.getDependenciesCount();
35
+ }
36
+ return undefined;
37
+ }
38
+ export function getDependencies() {
39
+ if (currentFrame?.computed) {
40
+ return currentFrame.computed.getDependencies();
41
+ }
42
+ return undefined;
43
+ }
44
+ export function isInitial() {
45
+ if (currentFrame) {
46
+ return currentFrame.isInitial;
47
+ }
48
+ return undefined;
49
+ }
50
+ export function getCurrentComputed() {
51
+ return currentFrame?.computed;
52
+ }
53
+ //# sourceMappingURL=dependencyDetection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencyDetection.js","sourceRoot":"","sources":["../src/dependencyDetection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AActE,IAAI,MAAM,GAAG,CAAC,CAAC;AACf,MAAM,WAAW,GAAqC,EAAE,CAAC;AACzD,IAAI,YAAuC,CAAC;AAE5C,MAAM,UAAU,KAAK;IACnB,OAAO,EAAE,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,KAAqB;IACzC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/B,YAAY,GAAG,KAAK,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,GAAG;IACjB,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,YAA6B;IAC9D,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,YAAY,CAAC,QAAQ,CACnB,YAAY,EACZ,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CACjD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,MAAM,CAAI,QAAiB;IACzC,IAAI,CAAC;QACH,KAAK,EAAE,CAAC;QACR,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,GAAG,EAAE,CAAC;IACR,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,IAAI,YAAY,EAAE,QAAQ,EAAE,CAAC;QAC3B,OAAO,YAAY,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;IACtD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,IAAI,YAAY,EAAE,QAAQ,EAAE,CAAC;QAC3B,OAAO,YAAY,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;IACjD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC,SAAS,CAAC;IAChC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,YAAY,EAAE,QAAQ,CAAC;AAChC,CAAC"}
@@ -0,0 +1,12 @@
1
+ export interface Disposable {
2
+ dispose(): void;
3
+ }
4
+ export declare class DisposableGroup implements Disposable {
5
+ private _disposables;
6
+ private _isDisposed;
7
+ add<T extends Disposable>(disposable: T): T;
8
+ dispose(): void;
9
+ get isDisposed(): boolean;
10
+ get count(): number;
11
+ }
12
+ //# sourceMappingURL=disposable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disposable.d.ts","sourceRoot":"","sources":["../src/disposable.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,WAAW,CAAS;IAE5B,GAAG,CAAC,CAAC,SAAS,UAAU,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC;IAS3C,OAAO,IAAI,IAAI;IAWf,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;CACF"}
@@ -0,0 +1,29 @@
1
+ export class DisposableGroup {
2
+ _disposables = [];
3
+ _isDisposed = false;
4
+ add(disposable) {
5
+ if (this._isDisposed) {
6
+ disposable.dispose();
7
+ return disposable;
8
+ }
9
+ this._disposables.push(disposable);
10
+ return disposable;
11
+ }
12
+ dispose() {
13
+ if (!this._isDisposed) {
14
+ this._isDisposed = true;
15
+ const items = this._disposables;
16
+ this._disposables = [];
17
+ for (let i = 0; i < items.length; i++) {
18
+ items[i].dispose();
19
+ }
20
+ }
21
+ }
22
+ get isDisposed() {
23
+ return this._isDisposed;
24
+ }
25
+ get count() {
26
+ return this._disposables.length;
27
+ }
28
+ }
29
+ //# sourceMappingURL=disposable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disposable.js","sourceRoot":"","sources":["../src/disposable.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,eAAe;IAClB,YAAY,GAAiB,EAAE,CAAC;IAChC,WAAW,GAAG,KAAK,CAAC;IAE5B,GAAG,CAAuB,UAAa;QACrC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,UAAU,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;YAChC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IAClC,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ export declare function domDataGet(node: object, key: string): unknown;
2
+ export declare function domDataSet(node: object, key: string, value: unknown): void;
3
+ export declare function domDataGetOrSet(node: object, key: string, value: unknown): unknown;
4
+ export declare function domDataClear(node: object): boolean;
5
+ export declare function domDataNextKey(): string;
6
+ //# sourceMappingURL=domData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domData.d.ts","sourceRoot":"","sources":["../src/domData.ts"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAe1E;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CASlF;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC"}
@@ -0,0 +1,40 @@
1
+ const dataStore = new WeakMap();
2
+ let nextId = 0;
3
+ export function domDataGet(node, key) {
4
+ return dataStore.get(node)?.get(key);
5
+ }
6
+ export function domDataSet(node, key, value) {
7
+ if (value === undefined) {
8
+ const data = dataStore.get(node);
9
+ if (data) {
10
+ data.delete(key);
11
+ if (data.size === 0)
12
+ dataStore.delete(node);
13
+ }
14
+ return;
15
+ }
16
+ let data = dataStore.get(node);
17
+ if (!data) {
18
+ data = new Map();
19
+ dataStore.set(node, data);
20
+ }
21
+ data.set(key, value);
22
+ }
23
+ export function domDataGetOrSet(node, key, value) {
24
+ let data = dataStore.get(node);
25
+ if (!data) {
26
+ data = new Map();
27
+ dataStore.set(node, data);
28
+ }
29
+ if (data.has(key))
30
+ return data.get(key);
31
+ data.set(key, value);
32
+ return value;
33
+ }
34
+ export function domDataClear(node) {
35
+ return dataStore.delete(node);
36
+ }
37
+ export function domDataNextKey() {
38
+ return `__tapout_${nextId++}`;
39
+ }
40
+ //# sourceMappingURL=domData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domData.js","sourceRoot":"","sources":["../src/domData.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAAG,IAAI,OAAO,EAAgC,CAAC;AAC9D,IAAI,MAAM,GAAG,CAAC,CAAC;AAEf,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,GAAW;IAClD,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,GAAW,EAAE,KAAc;IAClE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjB,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;gBAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACjB,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,GAAW,EAAE,KAAc;IACvE,IAAI,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACjB,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,YAAY,MAAM,EAAE,EAAE,CAAC;AAChC,CAAC"}
@@ -0,0 +1,7 @@
1
+ type DisposeCallback = (node: Node) => void;
2
+ export declare function addDisposeCallback(node: Node, callback: DisposeCallback): void;
3
+ export declare function removeDisposeCallback(node: Node, callback: DisposeCallback): void;
4
+ export declare function cleanNode(node: Node): Node;
5
+ export declare function removeNode(node: Node): void;
6
+ export {};
7
+ //# sourceMappingURL=domNodeDisposal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domNodeDisposal.d.ts","sourceRoot":"","sources":["../src/domNodeDisposal.ts"],"names":[],"mappings":"AAGA,KAAK,eAAe,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;AAmD5C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CAK9E;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CAWjF;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAY1C;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAK3C"}