taggedjs 2.7.8 → 2.8.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 (70) hide show
  1. package/bundle.js +1 -1
  2. package/bundle.js.map +1 -1
  3. package/js/interpolations/subscribeToTemplate.function.js +1 -0
  4. package/js/interpolations/subscribeToTemplate.function.js.map +1 -1
  5. package/js/state/StateMemory.type.d.ts +1 -2
  6. package/js/state/getStateValue.function.js +0 -17
  7. package/js/state/getStateValue.function.js.map +1 -1
  8. package/js/state/handleProviderChanges.function.d.ts +1 -2
  9. package/js/state/handleProviderChanges.function.js.map +1 -1
  10. package/js/state/index.d.ts +0 -1
  11. package/js/state/index.js +0 -1
  12. package/js/state/index.js.map +1 -1
  13. package/js/state/letProp.function.d.ts +1 -2
  14. package/js/state/letProp.function.js +37 -8
  15. package/js/state/letProp.function.js.map +1 -1
  16. package/js/state/setUse.function.d.ts +0 -1
  17. package/js/state/setUseMemory.object.js +0 -2
  18. package/js/state/setUseMemory.object.js.map +1 -1
  19. package/js/state/state.utils.js +0 -4
  20. package/js/state/state.utils.js.map +1 -1
  21. package/js/state/states.function.d.ts +1 -1
  22. package/js/state/states.utils.d.ts +1 -1
  23. package/js/state/states.utils.js +10 -7
  24. package/js/state/states.utils.js.map +1 -1
  25. package/js/state/subject.function.d.ts +1 -1
  26. package/js/state/subject.function.js +28 -15
  27. package/js/state/subject.function.js.map +1 -1
  28. package/js/state/syncStates.function.js +4 -4
  29. package/js/state/syncStates.function.js.map +1 -1
  30. package/js/state/watch.function.js.map +1 -1
  31. package/js/subject/index.d.ts +1 -0
  32. package/js/subject/index.js +1 -0
  33. package/js/subject/index.js.map +1 -1
  34. package/js/subject/signal.function.d.ts +18 -0
  35. package/js/subject/signal.function.js +37 -0
  36. package/js/subject/signal.function.js.map +1 -0
  37. package/js/tag/BaseSupport.type.d.ts +0 -4
  38. package/js/tag/Support.class.d.ts +11 -6
  39. package/js/tag/Support.class.js +10 -11
  40. package/js/tag/Support.class.js.map +1 -1
  41. package/js/tag/destroySupport.function.d.ts +1 -1
  42. package/js/tag/destroySupport.function.js +3 -6
  43. package/js/tag/destroySupport.function.js.map +1 -1
  44. package/js/tag/getChildTagsToDestroy.function.d.ts +1 -1
  45. package/js/tag/getChildTagsToDestroy.function.js +3 -3
  46. package/js/tag/getChildTagsToDestroy.function.js.map +1 -1
  47. package/js/tag/getSupport.function.d.ts +6 -0
  48. package/js/tag/getSupport.function.js +8 -0
  49. package/js/tag/getSupport.function.js.map +1 -0
  50. package/js/tag/getTagWrap.function.js +1 -1
  51. package/js/tag/getTagWrap.function.js.map +1 -1
  52. package/js/tag/render/renderTagOnly.function.js +1 -1
  53. package/js/tag/render/renderTagOnly.function.js.map +1 -1
  54. package/js/tag/render/softDestroySupport.function.js +1 -1
  55. package/js/tag/render/softDestroySupport.function.js.map +1 -1
  56. package/js/tag/smartRemoveKids.function.d.ts +1 -1
  57. package/js/tag/smartRemoveKids.function.js +26 -16
  58. package/js/tag/smartRemoveKids.function.js.map +1 -1
  59. package/js/tag/tagElement.js +4 -2
  60. package/js/tag/tagElement.js.map +1 -1
  61. package/js/tag/tagRunner.js +3 -0
  62. package/js/tag/tagRunner.js.map +1 -1
  63. package/js/tag/update/processFirstSubjectComponent.function.js +1 -1
  64. package/js/tag/update/processFirstSubjectComponent.function.js.map +1 -1
  65. package/js/tag/update/processFirstSubjectValue.function.js.map +1 -1
  66. package/js/tag/update/processNewValue.function.js +1 -1
  67. package/js/tag/update/processNewValue.function.js.map +1 -1
  68. package/js/tag/update/updateExistingValue.function.js +1 -1
  69. package/js/tag/update/updateExistingValue.function.js.map +1 -1
  70. package/package.json +1 -1
@@ -13,6 +13,7 @@ export function subscribeToTemplate({ subject, support, counts, contextItem, app
13
13
  processSubUpdate(value, contextItem, support);
14
14
  };
15
15
  };
16
+ // onValue mutates so function below calls original and mutation
16
17
  const callback = function subValueProcessor(value) {
17
18
  onValue(value);
18
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"subscribeToTemplate.function.js","sourceRoot":"","sources":["../../ts/interpolations/subscribeToTemplate.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAA;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAI1E,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAK9D,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAYhD,MAAM,UAAU,mBAAmB,CAAC,EAClC,OAAO,EACP,OAAO,EACP,MAAM,EACN,WAAW,EACX,QAAQ,GACa;IACrB,IAAI,OAAO,GAAG,SAAS,UAAU,CAAC,KAAoB;QACpD,wBAAwB,CACtB,KAAK,EACL,WAAW,EACX,OAAO,EACP,EAAC,GAAG,MAAM,EAAC,EACX,UAAU,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,EAChD,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAC/B,CAAA;QAED,IAAG,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACjD,KAAK,EAAE,CAAA;QACT,CAAC;QAED,8BAA8B;QAC9B,OAAO,GAAG,SAAS,kBAAkB,CAAC,KAAoB;YACxD,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;QAC/C,CAAC,CAAA;IACH,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG,SAAS,iBAAiB,CAAC,KAAoB;QAC9D,OAAO,CAAC,KAAK,CAAC,CAAA;IAChB,CAAoF,CAAA;IAEpF,IAAI,OAAO,GAAG,IAAI,CAAA;IAClB,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IACvC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAA;IAC7B,OAAO,GAAG,KAAK,CAAA;IAEf,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAmB,CAAA;IAClD,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,EAAE,CAAA;IAC9D,IAAI,CAAC,IAAI,CAAC,GAAuC,CAAC,CAAA;AACpD,CAAC"}
1
+ {"version":3,"file":"subscribeToTemplate.function.js","sourceRoot":"","sources":["../../ts/interpolations/subscribeToTemplate.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAA;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAI1E,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAK9D,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAYhD,MAAM,UAAU,mBAAmB,CAAC,EAClC,OAAO,EACP,OAAO,EACP,MAAM,EACN,WAAW,EACX,QAAQ,GACa;IACrB,IAAI,OAAO,GAAG,SAAS,UAAU,CAAC,KAAoB;QACpD,wBAAwB,CACtB,KAAK,EACL,WAAW,EACX,OAAO,EACP,EAAC,GAAG,MAAM,EAAC,EACX,UAAU,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,EAChD,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAC/B,CAAA;QAED,IAAG,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACjD,KAAK,EAAE,CAAA;QACT,CAAC;QAED,8BAA8B;QAC9B,OAAO,GAAG,SAAS,kBAAkB,CAAC,KAAoB;YACxD,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;QAC/C,CAAC,CAAA;IACH,CAAC,CAAA;IAED,gEAAgE;IAChE,MAAM,QAAQ,GAAG,SAAS,iBAAiB,CAAC,KAAoB;QAC9D,OAAO,CAAC,KAAK,CAAC,CAAA;IAChB,CAAoF,CAAA;IAEpF,IAAI,OAAO,GAAG,IAAI,CAAA;IAClB,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IACvC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAA;IAC7B,OAAO,GAAG,KAAK,CAAA;IAEf,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAmB,CAAA;IAClD,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,EAAE,CAAA;IAC9D,IAAI,CAAC,IAAI,CAAC,GAAuC,CAAC,CAAA;AACpD,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { AnySupport } from "../tag/Support.class.js";
2
- import { firstLetState } from "./letState.utils.js";
3
2
  import { State } from "./state.types.js";
4
3
  import { runFirstState } from "./stateHandlers.js";
5
4
  import { firstStatesHandler, StatesSetter } from "./states.utils.js";
@@ -7,13 +6,13 @@ export type StateMemory = {
7
6
  version: number;
8
7
  support?: AnySupport;
9
8
  prevSupport?: AnySupport;
9
+ /** state memory on the first render */
10
10
  stateArray: State;
11
11
  states: StatesSetter[];
12
12
  statesIndex: number;
13
13
  rearray?: State;
14
14
  handlers: {
15
15
  handler: typeof runFirstState;
16
- letHandler: typeof firstLetState;
17
16
  statesHandler: typeof firstStatesHandler;
18
17
  };
19
18
  };
@@ -1,27 +1,10 @@
1
1
  import { getCallbackValue } from './state.utils.js';
2
- /*
3
- const badLetState = 'letState function incorrectly used. Second item in array is not setting expected value.\n\n' +
4
- 'For "let" state use `let name = state(default)(x => [name, name = x])`\n\n' +
5
- 'For "const" state use `const name = state(default)()`\n\n' +
6
- 'Problem state:\n'
7
- */
8
2
  export function getStateValue(state) {
9
3
  const callback = state.callback;
10
- // state()
11
4
  if (!callback) {
12
5
  return state.defaultValue;
13
6
  }
14
- // letState()
15
7
  const [value] = getCallbackValue(callback);
16
- // TODO: not needed in production, needed in development
17
- /*
18
- const [value, checkValue] = getCallbackValue(callback)
19
- if(checkValue !== StateEchoBack) {
20
- const message = badLetState + (callback ? callback.toString() : JSON.stringify(state)) +'\n'
21
- console.error(message, {state, callback, value, checkValue})
22
- throw new Error(message)
23
- }
24
- */
25
8
  return value;
26
9
  }
27
10
  //# sourceMappingURL=getStateValue.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getStateValue.function.js","sourceRoot":"","sources":["../../ts/state/getStateValue.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAGnD;;;;;EAKE;AAEF,MAAM,UAAU,aAAa,CAC3B,KAAyB;IAEzB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;IAE/B,UAAU;IACV,IAAG,CAAC,QAAQ,EAAE,CAAC;QACb,OAAO,KAAK,CAAC,YAAY,CAAA;IAC3B,CAAC;IAED,aAAa;IACb,MAAM,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAE1C,wDAAwD;IACxD;;;;;;;MAOE;IAEF,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"getStateValue.function.js","sourceRoot":"","sources":["../../ts/state/getStateValue.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAGnD,MAAM,UAAU,aAAa,CAC3B,KAAyB;IAEzB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;IAE/B,IAAG,CAAC,QAAQ,EAAE,CAAC;QACb,OAAO,KAAK,CAAC,YAAY,CAAA;IAC3B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAE1C,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -1,7 +1,6 @@
1
- import { BaseSupport } from '../tag/BaseSupport.type.js';
2
1
  import { AnySupport } from '../tag/Support.class.js';
3
2
  import { Provider } from './providers.js';
4
- export declare function handleProviderChanges(appSupport: BaseSupport, provider: Provider): TagWithProvider[];
3
+ export declare function handleProviderChanges(appSupport: AnySupport, provider: Provider): TagWithProvider[];
5
4
  type TagWithProvider = {
6
5
  support: AnySupport;
7
6
  renderCount: number;
@@ -1 +1 @@
1
- {"version":3,"file":"handleProviderChanges.function.js","sourceRoot":"","sources":["../../ts/state/handleProviderChanges.function.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,qBAAqB,CACnC,UAAuB,EACvB,QAAkB;IAElB,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAElE,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,kDAAkD;AAClD,SAAS,mBAAmB,CAC1B,OAAmB,EACnB,QAAkB,EAClB,SAA4B,EAAE;IAE9B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;IAC/B,MAAM,CAAC,IAAI,CAAC;QACV,OAAO;QACP,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,QAAQ;KACT,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAA;IACnC,KAAK,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;QAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAA;QAC9B,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,QAAQ;SACT,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"handleProviderChanges.function.js","sourceRoot":"","sources":["../../ts/state/handleProviderChanges.function.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,qBAAqB,CACnC,UAAsB,EACtB,QAAkB;IAElB,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAElE,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,kDAAkD;AAClD,SAAS,mBAAmB,CAC1B,OAAmB,EACnB,QAAkB,EAClB,SAA4B,EAAE;IAE9B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;IAC/B,MAAM,CAAC,IAAI,CAAC;QACV,OAAO;QACP,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,QAAQ;KACT,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAA;IACnC,KAAK,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;QAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAA;QAC9B,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,QAAQ;SACT,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -11,4 +11,3 @@ export * from './onInit.js';
11
11
  export * from './onDestroy.js';
12
12
  export * from './state.function.js';
13
13
  export * from './states.function.js';
14
- export * from './letState.function.js';
package/js/state/index.js CHANGED
@@ -11,5 +11,4 @@ export * from './onInit.js';
11
11
  export * from './onDestroy.js';
12
12
  export * from './state.function.js';
13
13
  export * from './states.function.js';
14
- export * from './letState.function.js';
15
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/state/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,wBAAwB,CAAA;AACtC,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAE9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/state/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,wBAAwB,CAAA;AACtC,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAE9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA"}
@@ -1,7 +1,6 @@
1
- import { GetSet } from './state.utils.js';
2
1
  /**
3
2
  * Enables the ability to maintain a change to a props value until the prop itself changes
4
3
  * @param prop typically the name of an existing prop
5
4
  * @returns immediately call the returned function: letProp(y)(x => [y, y=x])
6
5
  */
7
- export declare function letProp<T>(prop: T): ((getSet: GetSet<T>) => T);
6
+ export declare function letProp<T>(setter: (set: (...args: T[]) => any) => T[]): never[];
@@ -1,16 +1,45 @@
1
- import { letState } from './letState.function.js';
1
+ import { signal } from '../subject/signal.function.js';
2
+ import { states } from './states.function.js';
2
3
  import { watch } from './watch.function.js';
3
4
  /**
4
5
  * Enables the ability to maintain a change to a props value until the prop itself changes
5
6
  * @param prop typically the name of an existing prop
6
7
  * @returns immediately call the returned function: letProp(y)(x => [y, y=x])
7
8
  */
8
- export function letProp(prop) {
9
- return getSetProp => {
10
- let myProp = letState(prop)(getSetProp);
11
- watch([prop], () => getSetProp(myProp = prop));
12
- getSetProp(myProp); // always reset to my value and right await so that the old prop value never slips through
13
- return myProp;
14
- };
9
+ export function letProp(setter) {
10
+ const propStates2 = signal([]);
11
+ const passes = signal(0);
12
+ const passedOn = signal(0);
13
+ let nowValues = [];
14
+ let passed = 0;
15
+ passedOn.value = passes.value;
16
+ setter((...values) => {
17
+ nowValues = values;
18
+ return values;
19
+ });
20
+ // When the watched variable changes, then the local prop variable has to update
21
+ watch(nowValues, () => {
22
+ ++passed; // first time values and changed values cause new state
23
+ propStates2.value = nowValues;
24
+ setter(() => nowValues);
25
+ });
26
+ // called and only used during sync'ing processes
27
+ states(() => {
28
+ if (passed) {
29
+ setter((...values) => {
30
+ propStates2.value = values;
31
+ if (passes != passedOn) {
32
+ return propStates2.value;
33
+ }
34
+ return values; // propStates2.value
35
+ });
36
+ passedOn.value = passes.value;
37
+ ++passes.value;
38
+ return;
39
+ }
40
+ setter(() => propStates2.value);
41
+ });
42
+ ++passed;
43
+ return propStates2.value;
15
44
  }
16
45
  //# sourceMappingURL=letProp.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"letProp.function.js","sourceRoot":"","sources":["../../ts/state/letProp.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAK,wBAAwB,CAAA;AAEhD,OAAO,EAAE,KAAK,EAAE,MAAK,qBAAqB,CAAA;AAE1C;;;;GAIG;AACH,MAAM,UAAU,OAAO,CACrB,IAAO;IAEP,OAAO,UAAU,CAAC,EAAE;QAClB,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAA;QAEvC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAA;QAC9C,UAAU,CAAC,MAAM,CAAC,CAAA,CAAC,0FAA0F;QAC7G,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"letProp.function.js","sourceRoot":"","sources":["../../ts/state/letProp.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAK,qBAAqB,CAAA;AAE1C;;;;GAIG;AACH,MAAM,UAAU,OAAO,CACrB,MAEQ;IAER,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;IAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IAC1B,IAAI,SAAS,GAAc,EAAE,CAAA;IAC7B,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;IAE7B,MAAM,CAAC,CAAC,GAAG,MAAa,EAAE,EAAE;QAC1B,SAAS,GAAG,MAAM,CAAA;QAClB,OAAO,MAAM,CAAA;IACf,CAAC,CAAC,CAAA;IAEF,gFAAgF;IAChF,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE;QACpB,EAAE,MAAM,CAAA,CAAC,uDAAuD;QAEhE,WAAW,CAAC,KAAK,GAAG,SAAgB,CAAA;QAEpC,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IACzB,CAAC,CAAQ,CAAA;IAET,iDAAiD;IACjD,MAAM,CAAC,GAAG,EAAE;QACV,IAAG,MAAM,EAAE,CAAC;YACV,MAAM,CAAC,CAAC,GAAG,MAAa,EAAE,EAAE;gBAC1B,WAAW,CAAC,KAAK,GAAG,MAAa,CAAA;gBAEjC,IAAG,MAAM,IAAE,QAAQ,EAAE,CAAC;oBACpB,OAAO,WAAW,CAAC,KAAK,CAAA;gBAC1B,CAAC;gBAED,OAAO,MAAM,CAAA,CAAC,oBAAoB;YACpC,CAAC,CAAC,CAAA;YAEF,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;YAC7B,EAAE,MAAM,CAAC,KAAK,CAAA;YAEd,OAAM;QACR,CAAC;QAED,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,EAAE,MAAM,CAAA;IAER,OAAO,WAAW,CAAC,KAAK,CAAA;AAC1B,CAAC"}
@@ -9,6 +9,5 @@ export type UseOptions = {
9
9
  };
10
10
  export type UseMemory = (Record<string, unknown> & {
11
11
  stateConfig: StateMemory;
12
- currentSupport: AnySupport;
13
12
  tagClosed$: Subject<AnySupport>;
14
13
  });
@@ -1,4 +1,3 @@
1
- import { firstLetState } from './letState.utils.js';
2
1
  import { firstStatesHandler } from './states.utils.js';
3
2
  import { runFirstState } from './stateHandlers.js';
4
3
  export const setUseMemory = {
@@ -7,7 +6,6 @@ export const setUseMemory = {
7
6
  version: Date.now(),
8
7
  handlers: {
9
8
  handler: runFirstState,
10
- letHandler: firstLetState,
11
9
  statesHandler: firstStatesHandler,
12
10
  }
13
11
  },
@@ -1 +1 @@
1
- {"version":3,"file":"setUseMemory.object.js","sourceRoot":"","sources":["../../ts/state/setUseMemory.object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,WAAW,EAAE;QACX,UAAU,EAAE,EAAW,EAAE,mCAAmC;QAC5D,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;QACnB,QAAQ,EAAE;YACR,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,aAAa;YACzB,aAAa,EAAE,kBAAkB;SAClC;KACF;CACW,CAAA"}
1
+ {"version":3,"file":"setUseMemory.object.js","sourceRoot":"","sources":["../../ts/state/setUseMemory.object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,WAAW,EAAE;QACX,UAAU,EAAE,EAAW,EAAE,mCAAmC;QAC5D,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;QACnB,QAAQ,EAAE;YACR,OAAO,EAAE,aAAa;YACtB,aAAa,EAAE,kBAAkB;SAClC;KACF;CACW,CAAA"}
@@ -1,9 +1,7 @@
1
1
  import { runFirstState, runRestate } from './stateHandlers.js';
2
- import { firstLetState, reLetState } from './letState.utils.js';
3
2
  import { firstStatesHandler, reStatesHandler } from './states.utils.js';
4
3
  export function initState(support, config) {
5
4
  config.handlers.handler = runFirstState;
6
- config.handlers.letHandler = firstLetState;
7
5
  config.handlers.statesHandler = firstStatesHandler;
8
6
  config.rearray = [];
9
7
  config.stateArray = [];
@@ -15,11 +13,9 @@ export function reState(support, config, prevState, prevStates) {
15
13
  // set previous state memory
16
14
  config.rearray = prevState;
17
15
  config.stateArray = [];
18
- // config.states = []
19
16
  config.states = prevStates;
20
17
  config.statesIndex = 0;
21
18
  config.handlers.handler = runRestate;
22
- config.handlers.letHandler = reLetState;
23
19
  config.handlers.statesHandler = reStatesHandler;
24
20
  config.support = support;
25
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"state.utils.js","sourceRoot":"","sources":["../../ts/state/state.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE9D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAgB,MAAM,mBAAmB,CAAA;AAKrF,MAAM,UAAU,SAAS,CACvB,OAAmB,EACnB,MAAmB;IAEnB,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,aAAa,CAAA;IACvC,MAAM,CAAC,QAAQ,CAAC,UAAU,GAAG,aAAsE,CAAA;IACnG,MAAM,CAAC,QAAQ,CAAC,aAAa,GAAG,kBAA2E,CAAA;IAE3G,MAAM,CAAC,OAAO,GAAG,EAAE,CAAA;IACnB,MAAM,CAAC,UAAU,GAAG,EAAE,CAAA;IACtB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAA;IAClB,MAAM,CAAC,WAAW,GAAG,CAAC,CAAA;IACtB,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,OAAmB,EACnB,MAAmB,EACnB,SAAgB,EAChB,UAA0B;IAE1B,4BAA4B;IAC5B,MAAM,CAAC,OAAO,GAAG,SAAS,CAAA;IAE1B,MAAM,CAAC,UAAU,GAAG,EAAE,CAAA;IACtB,qBAAqB;IACrB,MAAM,CAAC,MAAM,GAAG,UAAU,CAAA;IAC1B,MAAM,CAAC,WAAW,GAAG,CAAC,CAAA;IAEtB,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAA;IACpC,MAAM,CAAC,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAA;IACvC,MAAM,CAAC,QAAQ,CAAC,aAAa,GAAG,eAAe,CAAA;IAE/C,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;AAC1B,CAAC;AAED,MAAM,OAAO,aAAa;CAAG;AAE7B,0DAA0D;AAC1D,MAAM,UAAU,gBAAgB,CAC9B,QAAwB;IAExB,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAoB,CAAC,CAAA,CAAC,iCAAiC;IACjF,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAA;IAExB,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAE,KAAK,CAAE,CAAA,CAAC,6BAA6B;IACpE,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;AAC5B,CAAC"}
1
+ {"version":3,"file":"state.utils.js","sourceRoot":"","sources":["../../ts/state/state.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE9D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAgB,MAAM,mBAAmB,CAAA;AAKrF,MAAM,UAAU,SAAS,CACvB,OAAmB,EACnB,MAAmB;IAEnB,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,aAAa,CAAA;IACvC,MAAM,CAAC,QAAQ,CAAC,aAAa,GAAG,kBAA2E,CAAA;IAE3G,MAAM,CAAC,OAAO,GAAG,EAAE,CAAA;IACnB,MAAM,CAAC,UAAU,GAAG,EAAE,CAAA;IACtB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAA;IAClB,MAAM,CAAC,WAAW,GAAG,CAAC,CAAA;IACtB,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,OAAmB,EACnB,MAAmB,EACnB,SAAgB,EAChB,UAA0B;IAE1B,4BAA4B;IAC5B,MAAM,CAAC,OAAO,GAAG,SAAS,CAAA;IAE1B,MAAM,CAAC,UAAU,GAAG,EAAE,CAAA;IACtB,MAAM,CAAC,MAAM,GAAG,UAAU,CAAA;IAC1B,MAAM,CAAC,WAAW,GAAG,CAAC,CAAA;IAEtB,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAA;IACpC,MAAM,CAAC,QAAQ,CAAC,aAAa,GAAG,eAAe,CAAA;IAE/C,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;AAC1B,CAAC;AAED,MAAM,OAAO,aAAa;CAAG;AAE7B,0DAA0D;AAC1D,MAAM,UAAU,gBAAgB,CAC9B,QAAwB;IAExB,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAoB,CAAC,CAAA,CAAC,iCAAiC;IACjF,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAA;IAExB,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAE,KAAK,CAAE,CAAA,CAAC,6BAA6B;IACpE,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;AAC5B,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { GetSet } from './state.utils.js';
2
2
  /** Used for variables that need to remain the same variable during render passes. If defaultValue is a function it is called only once, its return value is first state, and let value can changed */
3
- export declare function states<T>(setter: (set: <T>(a: T) => T) => any): ((getSet: GetSet<T>) => T);
3
+ export declare function states<T>(setter: (set: <T>(...args: T[]) => T[]) => any): ((getSet: GetSet<T>) => T);
@@ -1,3 +1,3 @@
1
- export type StatesSetter = (set: <T>(a: T) => T) => any;
1
+ export type StatesSetter = (set: <T>(...a: T[]) => T[]) => any;
2
2
  export declare function firstStatesHandler(setter: StatesSetter): any;
3
3
  export declare function reStatesHandler(setter: StatesSetter): any;
@@ -7,7 +7,10 @@ export function firstStatesHandler(setter) {
7
7
  const support = config.support;
8
8
  support.states[config.statesIndex] = setter;
9
9
  ++config.statesIndex;
10
- return setter(state);
10
+ return setter((...args) => {
11
+ state(args);
12
+ return args;
13
+ });
11
14
  }
12
15
  export function reStatesHandler(setter) {
13
16
  const config = setUseMemory.stateConfig;
@@ -16,18 +19,18 @@ export function reStatesHandler(setter) {
16
19
  const prevSupport = config.prevSupport;
17
20
  const oldStates = prevSupport?.states[statesIndex];
18
21
  const lastValues = [];
19
- const regetter = (value) => {
20
- lastValues.push(value);
21
- return value;
22
+ const regetter = (...args) => {
23
+ lastValues.push(args);
24
+ return args;
22
25
  };
23
26
  oldStates(regetter);
24
27
  let index = 0;
25
- const resetter = (value) => {
28
+ const resetter = (...args) => {
26
29
  // state(value) // fake call and do not care about result
27
30
  // fake state() having been called
28
31
  config.stateArray.push({
29
- get: () => value,
30
- defaultValue: value,
32
+ get: () => args,
33
+ defaultValue: args,
31
34
  });
32
35
  const lastValue = lastValues[index];
33
36
  ++index;
@@ -1 +1 @@
1
- {"version":3,"file":"states.utils.js","sourceRoot":"","sources":["../../ts/state/states.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAQ3C,MAAM,UAAU,kBAAkB,CAChC,MAAoB;IAEpB,MAAM,MAAM,GAAgB,YAAY,CAAC,WAAW,CAAA;IAEpD,uBAAuB;IACvB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAA;IAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAqB,CAAA;IAC5C,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAA;IAE3C,EAAE,MAAM,CAAC,WAAW,CAAA;IAEpB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,MAAoB;IAEpB,MAAM,MAAM,GAAgB,YAAY,CAAC,WAAW,CAAA;IACpD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAqB,CAAA;IAE5C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;IACtC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;IACtC,MAAM,SAAS,GAAG,WAAW,EAAE,MAAM,CAAC,WAAW,CAAiB,CAAA;IAClE,MAAM,UAAU,GAAQ,EAAE,CAAA;IAE1B,MAAM,QAAQ,GAAG,CAAI,KAAQ,EAAK,EAAE;QAClC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACtB,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IAED,SAAS,CAAC,QAAQ,CAAC,CAAA;IAEnB,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,MAAM,QAAQ,GAAG,CAAI,KAAQ,EAAK,EAAE;QAClC,yDAAyD;QACzD,kCAAkC;QAClC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;YACrB,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK;YAChB,YAAY,EAAE,KAAK;SACpB,CAAC,CAAA;QAEF,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QAEnC,EAAE,KAAK,CAAA;QAEP,OAAO,SAAS,CAAA;IAClB,CAAC,CAAA;IAED,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAA;IAC3C,EAAE,MAAM,CAAC,WAAW,CAAA;IAEpB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAA;AACzB,CAAC"}
1
+ {"version":3,"file":"states.utils.js","sourceRoot":"","sources":["../../ts/state/states.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAQ3C,MAAM,UAAU,kBAAkB,CAChC,MAAoB;IAEpB,MAAM,MAAM,GAAgB,YAAY,CAAC,WAAW,CAAA;IAEpD,uBAAuB;IACvB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAA;IAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAqB,CAAA;IAC5C,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAA;IAE3C,EAAE,MAAM,CAAC,WAAW,CAAA;IAEpB,OAAO,MAAM,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE;QAC/B,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,MAAoB;IAEpB,MAAM,MAAM,GAAgB,YAAY,CAAC,WAAW,CAAA;IACpD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAqB,CAAA;IAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;IACtC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;IACtC,MAAM,SAAS,GAAG,WAAW,EAAE,MAAM,CAAC,WAAW,CAAiB,CAAA;IAClE,MAAM,UAAU,GAAQ,EAAE,CAAA;IAE1B,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;QAClC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrB,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,SAAS,CAAC,QAAQ,CAAC,CAAA;IAEnB,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;QAClC,yDAAyD;QACzD,kCAAkC;QAClC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;YACrB,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI;YACf,YAAY,EAAE,IAAI;SACnB,CAAC,CAAA;QAEF,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QAEnC,EAAE,KAAK,CAAA;QAEP,OAAO,SAAS,CAAA;IAClB,CAAC,CAAA;IAED,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAA;IAC3C,EAAE,MAAM,CAAC,WAAW,CAAA;IAEpB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAA;AACzB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { OnSubscription, Subject } from '../subject/index.js';
2
2
  /** Create a Subject that on updates will sync state values to keep chained functions using latest variables */
3
- export declare function subject<T>(value?: T, onSubscription?: OnSubscription<T>): Subject<T>;
3
+ export declare function subject<T>(initialValue?: T, onSubscription?: OnSubscription<T>): Subject<T>;
4
4
  export declare namespace subject {
5
5
  var _value: <T>(value: T) => Subject<T>;
6
6
  var all: {
@@ -4,23 +4,36 @@ import { setUseMemory } from './setUseMemory.object.js';
4
4
  import { state } from './state.function.js';
5
5
  import { syncStates } from './syncStates.function.js';
6
6
  /** Create a Subject that on updates will sync state values to keep chained functions using latest variables */
7
- export function subject(value, onSubscription) {
7
+ export function subject(initialValue, onSubscription) {
8
+ const support = getSupportInCycle();
9
+ if (support) {
10
+ return state(() => new Subject(initialValue));
11
+ }
12
+ return new Subject(initialValue);
13
+ /*
8
14
  const oldestState = state(function subjectState() {
9
- // return setUseMemory.stateConfig.stateArray
10
- // return setUseMemory.stateConfig.support as AnySupport
11
- return {
12
- stateArray: setUseMemory.stateConfig.stateArray,
13
- states: setUseMemory.stateConfig.states,
14
- };
15
- });
16
- const nowSupport = getSupportInCycle();
15
+ // return setUseMemory.stateConfig.stateArray
16
+ // return setUseMemory.stateConfig.support as AnySupport
17
+ return {
18
+ stateArray: setUseMemory.stateConfig.stateArray,
19
+ states: setUseMemory.stateConfig.states,
20
+ }
21
+ })
22
+
23
+ const nowSupport = getSupportInCycle() as AnySupport
17
24
  return state(function subjectState() {
18
- const subject = new Subject(value, onSubscription).pipe(x => {
19
- syncStates(nowSupport.state, oldestState.stateArray, nowSupport.states, oldestState.states);
20
- return x;
21
- });
22
- return subject;
23
- });
25
+ const subject = new Subject(initialValue, onSubscription).pipe(x => {
26
+ syncStates(
27
+ nowSupport.state,
28
+ oldestState.stateArray,
29
+ nowSupport.states,
30
+ oldestState.states,
31
+ )
32
+ return x
33
+ })
34
+ return subject
35
+ })
36
+ */
24
37
  }
25
38
  subject._value = (value) => {
26
39
  const oldestState = state(function subjectValue() {
@@ -1 +1 @@
1
- {"version":3,"file":"subject.function.js","sourceRoot":"","sources":["../../ts/state/subject.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,+GAA+G;AAC/G,MAAM,UAAU,OAAO,CACrB,KAAS,EACT,cAAkC;IAElC,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,YAAY;QAC7C,6CAA6C;QAC7C,wDAAwD;QACxD,OAAO;YACL,UAAU,EAAE,YAAY,CAAC,WAAW,CAAC,UAAU;YAC/C,MAAM,EAAE,YAAY,CAAC,WAAW,CAAC,MAAM;SACxC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,iBAAiB,EAAgB,CAAA;IACpD,OAAO,KAAK,CAAC,SAAS,YAAY;QAChC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC1D,UAAU,CACR,UAAU,CAAC,KAAK,EAChB,WAAW,CAAC,UAAU,EACtB,UAAU,CAAC,MAAM,EACjB,WAAW,CAAC,MAAM,CACnB,CAAA;YACD,OAAO,CAAC,CAAA;QACV,CAAC,CAAC,CAAA;QACF,OAAO,OAAO,CAAA;IAChB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,OAAO,CAAC,MAAM,GAAG,CAAI,KAAQ,EAAE,EAAE;IAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,YAAY;QAC7C,OAAO;YACL,UAAU,EAAE,YAAY,CAAC,WAAW,CAAC,UAAU;YAC/C,MAAM,EAAE,YAAY,CAAC,WAAW,CAAC,MAAM;SACxC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,iBAAiB,EAAgB,CAAA;IACpD,OAAO,KAAK,CAAC,SAAS,YAAY;QAChC,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC/C,UAAU,CACR,UAAU,CAAC,KAAK,EAChB,WAAW,CAAC,UAAU,EACtB,UAAU,CAAC,MAAM,EACjB,WAAW,CAAC,MAAM,CACnB,CAAA;YACD,OAAO,CAAC,CAAA;QACV,CAAC,CAAC,CAAA;QACF,OAAO,OAAO,CAAA;IAChB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAQD,SAAS,GAAG,CAAC,IAAW;IACtB,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/B,UAAU,EAAE,YAAY,CAAC,WAAW,CAAC,UAAU;QAC/C,MAAM,EAAE,YAAY,CAAC,WAAW,CAAC,MAAM;KACxC,CAAC,CAAC,CAAA;IACH,MAAM,UAAU,GAAG,iBAAiB,EAAgB,CAAA;IACpD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QACvC,UAAU,CACR,UAAU,CAAC,KAAK,EAChB,WAAW,CAAC,UAAU,EACtB,UAAU,CAAC,MAAM,EACjB,WAAW,CAAC,MAAM,CACnB,CAAA;QACD,OAAO,CAAC,CAAA;IACV,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,OAAO,CAAC,GAAG,GAAG,GAAG,CAAA"}
1
+ {"version":3,"file":"subject.function.js","sourceRoot":"","sources":["../../ts/state/subject.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,+GAA+G;AAC/G,MAAM,UAAU,OAAO,CACrB,YAAgB,EAChB,cAAkC;IAElC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAA;IAEnC,IAAG,OAAO,EAAE,CAAC;QACT,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,CAAA;IAChC;;;;;;;;;;;;;;;;;;;;;;;MAuBE;AACJ,CAAC;AAED,OAAO,CAAC,MAAM,GAAG,CAAI,KAAQ,EAAE,EAAE;IAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,YAAY;QAC7C,OAAO;YACL,UAAU,EAAE,YAAY,CAAC,WAAW,CAAC,UAAU;YAC/C,MAAM,EAAE,YAAY,CAAC,WAAW,CAAC,MAAM;SACxC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,iBAAiB,EAAgB,CAAA;IACpD,OAAO,KAAK,CAAC,SAAS,YAAY;QAChC,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAC/C,UAAU,CACR,UAAU,CAAC,KAAK,EAChB,WAAW,CAAC,UAAU,EACtB,UAAU,CAAC,MAAM,EACjB,WAAW,CAAC,MAAM,CACnB,CAAA;YACD,OAAO,CAAC,CAAA;QACV,CAAC,CAAC,CAAA;QACF,OAAO,OAAO,CAAA;IAChB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAQD,SAAS,GAAG,CAAC,IAAW;IACtB,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/B,UAAU,EAAE,YAAY,CAAC,WAAW,CAAC,UAAU;QAC/C,MAAM,EAAE,YAAY,CAAC,WAAW,CAAC,MAAM;KACxC,CAAC,CAAC,CAAA;IACH,MAAM,UAAU,GAAG,iBAAiB,EAAgB,CAAA;IACpD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QACvC,UAAU,CACR,UAAU,CAAC,KAAK,EAChB,WAAW,CAAC,UAAU,EACtB,UAAU,CAAC,MAAM,EACjB,WAAW,CAAC,MAAM,CACnB,CAAA;QACD,OAAO,CAAC,CAAA;IACV,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,OAAO,CAAC,GAAG,GAAG,GAAG,CAAA"}
@@ -1,5 +1,5 @@
1
1
  export function syncStates(stateFrom, stateTo, oldStates, statesFrom) {
2
- // sync state() and letState()
2
+ // sync state()
3
3
  for (let index = stateFrom.length - 1; index >= 0; --index) {
4
4
  const fromValue = stateFrom[index].get();
5
5
  const callback = stateTo[index].callback; // is it a let state?
@@ -10,9 +10,9 @@ export function syncStates(stateFrom, stateTo, oldStates, statesFrom) {
10
10
  }
11
11
  for (let index = statesFrom.length - 1; index >= 0; --index) {
12
12
  const oldValues = [];
13
- const oldGetCallback = (oldValue) => {
14
- oldValues.push(oldValue);
15
- return oldValue;
13
+ const oldGetCallback = (...args) => {
14
+ oldValues.push(args);
15
+ return args;
16
16
  };
17
17
  // trigger getting all old values
18
18
  statesFrom[index](oldGetCallback);
@@ -1 +1 @@
1
- {"version":3,"file":"syncStates.function.js","sourceRoot":"","sources":["../../ts/state/syncStates.function.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,UAAU,CACxB,SAAgB,EAChB,OAAc,EACd,SAAyB,EACzB,UAA0B;IAE1B,8BAA8B;IAC9B,KAAK,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QAC3D,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAA;QACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAA,CAAC,qBAAqB;QAE9D,IAAG,CAAC,QAAQ,EAAE,CAAC;YACb,SAAQ;QACV,CAAC;QAED,QAAQ,CAAE,SAAS,CAAE,CAAA,CAAC,gBAAgB;IACxC,CAAC;IAED,KAAK,IAAI,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QAC5D,MAAM,SAAS,GAAU,EAAE,CAAA;QAE3B,MAAM,cAAc,GAAG,CAAI,QAAW,EAAE,EAAE;YACxC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACxB,OAAO,QAAQ,CAAA;QACjB,CAAC,CAAA;QAGD,iCAAiC;QACjC,UAAU,CAAC,KAAK,CAAC,CAAE,cAAc,CAAE,CAAA;QAEnC,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,MAAM,cAAc,GAAG,CAAI,CAAI,EAAE,EAAE;YACjC,OAAO,SAAS,CAAE,QAAQ,EAAE,CAAE,CAAA;QAChC,CAAC,CAAA;QAED,iCAAiC;QACjC,SAAS,CAAC,KAAK,CAAC,CAAE,cAAc,CAAE,CAAA;IACpC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"syncStates.function.js","sourceRoot":"","sources":["../../ts/state/syncStates.function.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,UAAU,CACxB,SAAgB,EAChB,OAAc,EACd,SAAyB,EACzB,UAA0B;IAE1B,eAAe;IACf,KAAK,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QAC3D,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAA;QACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAA,CAAC,qBAAqB;QAE9D,IAAG,CAAC,QAAQ,EAAE,CAAC;YACb,SAAQ;QACV,CAAC;QAED,QAAQ,CAAE,SAAS,CAAE,CAAA,CAAC,gBAAgB;IACxC,CAAC;IAED,KAAK,IAAI,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QAC5D,MAAM,SAAS,GAAU,EAAE,CAAA;QAE3B,MAAM,cAAc,GAAG,CAAI,GAAG,IAAS,EAAE,EAAE;YACzC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACpB,OAAO,IAAI,CAAA;QACb,CAAC,CAAA;QAGD,iCAAiC;QACjC,UAAU,CAAC,KAAK,CAAC,CAAE,cAAc,CAAE,CAAA;QAEnC,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,MAAM,cAAc,GAAG,CAAI,CAAI,EAAE,EAAE;YACjC,OAAO,SAAS,CAAE,QAAQ,EAAE,CAAE,CAAA;QAChC,CAAC,CAAA;QAED,iCAAiC;QACjC,SAAS,CAAC,KAAK,CAAC,CAAE,cAAc,CAAE,CAAA;IACpC,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"watch.function.js","sourceRoot":"","sources":["../../ts/state/watch.function.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watch.function.js","sourceRoot":"","sources":["../../ts/state/watch.function.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export { signal } from './signal.function.js';
1
2
  export * from './Subject.class.js';
2
3
  export * from './ValueSubject.js';
3
4
  export * from './combineLatest.function.js';
@@ -1,3 +1,4 @@
1
+ export { signal } from './signal.function.js';
1
2
  export * from './Subject.class.js';
2
3
  export * from './ValueSubject.js';
3
4
  export * from './combineLatest.function.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/subject/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/subject/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA"}
@@ -0,0 +1,18 @@
1
+ type Subscriber = <T>(newValue?: T) => any;
2
+ /** Checks if rendering cycle in process. Then creates object with "value" key and ability to "subscribe" to value changes */
3
+ export declare function signal<T>(initialValue: T): {
4
+ value: T;
5
+ subscribe(callback: Subscriber): {
6
+ (): boolean;
7
+ unsubscribe: any;
8
+ };
9
+ };
10
+ /** Creates object with "value" key and ability to "subscribe" to value changes */
11
+ export declare function Signal<T>(initialValue: T): {
12
+ value: T;
13
+ subscribe(callback: Subscriber): {
14
+ (): boolean;
15
+ unsubscribe: any;
16
+ };
17
+ };
18
+ export {};
@@ -0,0 +1,37 @@
1
+ import { state } from '../state/index.js';
2
+ import { getSupportInCycle } from '../tag/getSupportInCycle.function.js';
3
+ /** Checks if rendering cycle in process. Then creates object with "value" key and ability to "subscribe" to value changes */
4
+ export function signal(initialValue) {
5
+ const support = getSupportInCycle();
6
+ if (support) {
7
+ return state(() => Signal(initialValue));
8
+ }
9
+ return Signal(initialValue);
10
+ }
11
+ /** Creates object with "value" key and ability to "subscribe" to value changes */
12
+ export function Signal(initialValue) {
13
+ let value = initialValue;
14
+ const subscribers = new Set();
15
+ return {
16
+ get value() {
17
+ return value;
18
+ },
19
+ set value(newValue) {
20
+ if (value !== newValue) {
21
+ value = newValue;
22
+ // Notify all subscribers
23
+ subscribers.forEach(callback => callback(newValue));
24
+ }
25
+ },
26
+ subscribe(callback) {
27
+ callback(value); // emit initial value
28
+ subscribers.add(callback);
29
+ // Return an unsubscribe function
30
+ const unsub = () => subscribers.delete(callback);
31
+ // support traditional unsubscribe
32
+ unsub.unsubscribe = unsub;
33
+ return unsub;
34
+ },
35
+ };
36
+ }
37
+ //# sourceMappingURL=signal.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signal.function.js","sourceRoot":"","sources":["../../ts/subject/signal.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAIxE,6HAA6H;AAC7H,MAAM,UAAU,MAAM,CAAI,YAAe;IACrC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAA;IAEnC,IAAG,OAAO,EAAE,CAAC;QACT,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;IAC5C,CAAC;IAED,OAAO,MAAM,CAAC,YAAY,CAAC,CAAA;AAC/B,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,MAAM,CAAI,YAAe;IACrC,IAAI,KAAK,GAAM,YAAY,CAAA;IAC3B,MAAM,WAAW,GAAoB,IAAI,GAAG,EAAE,CAAA;IAE9C,OAAO;QACH,IAAI,KAAK;YACP,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,KAAK,CAAC,QAAW;YACjB,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACrB,KAAK,GAAG,QAAQ,CAAA;gBAChB,yBAAyB;gBACzB,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;YACvD,CAAC;QACL,CAAC;QACD,SAAS,CAAC,QAAoB;YAC1B,QAAQ,CAAC,KAAK,CAAC,CAAA,CAAC,qBAAqB;YAErC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAEzB,iCAAiC;YACjC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAEhD,kCAAkC;YAClC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAA;YAEzB,OAAO,KAAK,CAAA;QAChB,CAAC;KACJ,CAAA;AACL,CAAC"}
@@ -1,8 +1,4 @@
1
- import { State } from '../state/index.js';
2
- import { StatesSetter } from '../state/states.utils.js';
3
1
  import { HtmlSupport, SupportContextItem } from './Support.class.js';
4
2
  export type BaseSupport = HtmlSupport & {
5
- state: State;
6
- states: StatesSetter[];
7
3
  subject: SupportContextItem;
8
4
  };
@@ -2,13 +2,18 @@ import { SupportTagGlobal, TemplaterResult } from './TemplaterResult.class.js';
2
2
  import { ContextItem } from './Context.types.js';
3
3
  import { Props } from '../Props.js';
4
4
  import { BaseSupport } from './BaseSupport.type.js';
5
- export type AnySupport = (BaseSupport & {});
5
+ import { State } from '../state/index.js';
6
+ import { StatesSetter } from '../state/states.utils.js';
7
+ export type AnySupport = (BaseSupport & {
8
+ state: State;
9
+ states: StatesSetter[];
10
+ });
6
11
  export type PropsConfig = {
7
12
  latest: Props;
8
13
  castProps?: Props;
9
14
  };
10
15
  export type HtmlSupport = {
11
- appSupport: BaseSupport;
16
+ appSupport: AnySupport;
12
17
  ownerSupport?: AnySupport;
13
18
  appElement?: Element;
14
19
  propsConfig?: PropsConfig;
@@ -21,12 +26,12 @@ export type SupportContextItem = ContextItem & {
21
26
  renderCount: number;
22
27
  };
23
28
  /** used only for apps, otherwise use Support */
24
- export declare function getBaseSupport(templater: TemplaterResult, subject: SupportContextItem, castedProps?: Props): AnySupport;
29
+ export declare function getBaseSupport(templater: TemplaterResult, subject: SupportContextItem, castedProps?: Props): BaseSupport;
25
30
  export type Support = AnySupport & {
26
31
  ownerSupport: AnySupport;
27
32
  appSupport: BaseSupport;
28
33
  };
29
- export declare function getSupport(templater: TemplaterResult, // at runtime rendering of a tag, it needs to be married to a new Support()
30
- ownerSupport: AnySupport, appSupport: BaseSupport, subject: ContextItem, castedProps?: Props): AnySupport;
34
+ export declare function upgradeBaseToSupport(templater: TemplaterResult, // at runtime rendering of a tag, it needs to be married to a new Support()
35
+ support: BaseSupport, appSupport: AnySupport, castedProps?: Props): AnySupport;
31
36
  export declare function getHtmlSupport(templater: TemplaterResult, // at runtime rendering of a tag, it needs to be married to a new Support()
32
- ownerSupport: AnySupport, appSupport: BaseSupport, subject: ContextItem, castedProps?: Props): AnySupport;
37
+ ownerSupport: AnySupport, appSupport: AnySupport, subject: ContextItem, castedProps?: Props): AnySupport;
@@ -6,25 +6,24 @@ export function getBaseSupport(templater, subject, castedProps) {
6
6
  templater,
7
7
  subject,
8
8
  castedProps,
9
- state: [], // TODO: this is not needed for every type of tag
10
- states: [], // TODO: this is not needed for every type of tag
11
9
  appSupport: undefined,
12
10
  };
13
- baseSupport.appSupport = baseSupport;
11
+ // baseSupport.appSupport = baseSupport
14
12
  const global = subject.global;
15
13
  global.blocked = [];
16
14
  global.destroy$ = new Subject();
17
- const props = templater.props; // natural props
18
- if (props) {
19
- baseSupport.propsConfig = clonePropsBy(baseSupport, props, castedProps);
20
- }
21
15
  return baseSupport;
22
16
  }
23
- export function getSupport(templater, // at runtime rendering of a tag, it needs to be married to a new Support()
24
- ownerSupport, appSupport, subject, castedProps) {
25
- const support = getBaseSupport(templater, subject, castedProps);
26
- support.ownerSupport = ownerSupport;
17
+ export function upgradeBaseToSupport(templater, // at runtime rendering of a tag, it needs to be married to a new Support()
18
+ support, appSupport, castedProps) {
19
+ ;
20
+ support.state = [];
21
+ support.states = [];
27
22
  support.appSupport = appSupport;
23
+ const props = templater.props; // natural props
24
+ if (props) {
25
+ support.propsConfig = clonePropsBy(support, props, castedProps);
26
+ }
28
27
  return support;
29
28
  }
30
29
  export function getHtmlSupport(templater, // at runtime rendering of a tag, it needs to be married to a new Support()
@@ -1 +1 @@
1
- {"version":3,"file":"Support.class.js","sourceRoot":"","sources":["../../ts/tag/Support.class.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AA+BrD,gDAAgD;AAChD,MAAM,UAAU,cAAc,CAC5B,SAA0B,EAC1B,OAA0B,EAC1B,WAAmB;IAEnB,MAAM,WAAW,GAAG;QAClB,SAAS;QACT,OAAO;QACP,WAAW;QAEX,KAAK,EAAE,EAAE,EAAE,iDAAiD;QAC5D,MAAM,EAAE,EAAE,EAAE,iDAAiD;QAE7D,UAAU,EAAE,SAAmC;KACjC,CAAA;IAEhB,WAAW,CAAC,UAAU,GAAG,WAAW,CAAA;IAEpC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7B,MAAM,CAAC,OAAO,GAAG,EAAE,CAAA;IACnB,MAAM,CAAC,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAA;IAErC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAA,CAAE,gBAAgB;IAC/C,IAAG,KAAK,EAAE,CAAC;QACT,WAAW,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;IACzE,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AAOD,MAAM,UAAU,UAAU,CACxB,SAA0B,EAAE,2EAA2E;AACvG,YAAwB,EACxB,UAAuB,EACvB,OAAoB,EACpB,WAAmB;IAEnB,MAAM,OAAO,GAAG,cAAc,CAC5B,SAAS,EACT,OAA6B,EAC7B,WAAW,CACZ,CAAA;IAED,OAAO,CAAC,YAAY,GAAG,YAAY,CAAA;IACnC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;IAE/B,OAAO,OAAqB,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,SAA0B,EAAE,2EAA2E;AACvG,YAAwB,EACxB,UAAuB,EACvB,OAAoB,EACpB,WAAmB;IAEnB,MAAM,OAAO,GAAG;QACd,SAAS;QACT,OAAO;QACP,WAAW;QAEX,UAAU,EAAE,SAAmC;KACjC,CAAA;IAEhB,OAAO,CAAC,YAAY,GAAG,YAAY,CAAA;IACnC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;IAC/B,OAAO,OAAqB,CAAA;AAC9B,CAAC"}
1
+ {"version":3,"file":"Support.class.js","sourceRoot":"","sources":["../../ts/tag/Support.class.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAmCrD,gDAAgD;AAChD,MAAM,UAAU,cAAc,CAC5B,SAA0B,EAC1B,OAA0B,EAC1B,WAAmB;IAEnB,MAAM,WAAW,GAAG;QAClB,SAAS;QACT,OAAO;QACP,WAAW;QAEX,UAAU,EAAE,SAAkC;KAChC,CAAA;IAEhB,uCAAuC;IAEvC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7B,MAAM,CAAC,OAAO,GAAG,EAAE,CAAA;IACnB,MAAM,CAAC,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAA;IAErC,OAAO,WAAW,CAAA;AACpB,CAAC;AAOD,MAAM,UAAU,oBAAoB,CAClC,SAA0B,EAAE,2EAA2E;AACvG,OAAoB,EACpB,UAAsB,EACtB,WAAmB;IAEnB,CAAC;IAAC,OAAsB,CAAC,KAAK,GAAG,EAAE,CAClC;IAAC,OAAsB,CAAC,MAAM,GAAG,EAAE,CAAA;IAEpC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;IAE/B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAA,CAAE,gBAAgB;IAC/C,IAAG,KAAK,EAAE,CAAC;QACT,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC,OAAqB,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;IAC/E,CAAC;IAED,OAAO,OAAqB,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,SAA0B,EAAE,2EAA2E;AACvG,YAAwB,EACxB,UAAsB,EACtB,OAAoB,EACpB,WAAmB;IAEnB,MAAM,OAAO,GAAG;QACd,SAAS;QACT,OAAO;QACP,WAAW;QAEX,UAAU,EAAE,SAAkC;KAChC,CAAA;IAEhB,OAAO,CAAC,YAAY,GAAG,YAAY,CAAA;IACnC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;IAC/B,OAAO,OAAqB,CAAA;AAC9B,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import { AnySupport } from './Support.class.js';
2
- export declare function destroySupport(support: AnySupport): void | Promise<void>;
2
+ export declare function destroySupport(support: AnySupport): Promise<void>[];