taggedjs 2.4.16 → 2.4.31

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 (181) hide show
  1. package/bundle.js +1851 -1732
  2. package/bundle.js.map +1 -1
  3. package/js/Clones.type.d.ts +1 -1
  4. package/js/{errors.d.ts → Errors.d.ts} +3 -0
  5. package/js/{errors.js → Errors.js} +6 -0
  6. package/js/{errors.js.map → Errors.js.map} +1 -1
  7. package/js/Tag.class.d.ts +6 -41
  8. package/js/Tag.class.js +2 -347
  9. package/js/Tag.class.js.map +1 -1
  10. package/js/TagSupport.class.d.ts +40 -6
  11. package/js/TagSupport.class.js +268 -30
  12. package/js/TagSupport.class.js.map +1 -1
  13. package/js/TemplaterResult.class.d.ts +16 -16
  14. package/js/TemplaterResult.class.js +35 -46
  15. package/js/TemplaterResult.class.js.map +1 -1
  16. package/js/afterInterpolateElement.function.d.ts +4 -0
  17. package/js/afterInterpolateElement.function.js +14 -0
  18. package/js/afterInterpolateElement.function.js.map +1 -0
  19. package/js/alterProps.function.d.ts +2 -4
  20. package/js/alterProps.function.js +7 -15
  21. package/js/alterProps.function.js.map +1 -1
  22. package/js/bindSubjectCallback.function.js +0 -3
  23. package/js/bindSubjectCallback.function.js.map +1 -1
  24. package/js/checkDestroyPrevious.function.d.ts +5 -5
  25. package/js/checkDestroyPrevious.function.js +20 -17
  26. package/js/checkDestroyPrevious.function.js.map +1 -1
  27. package/js/cloneValueArray.function.d.ts +2 -0
  28. package/js/cloneValueArray.function.js +19 -0
  29. package/js/cloneValueArray.function.js.map +1 -0
  30. package/js/deepFunctions.js +36 -29
  31. package/js/deepFunctions.js.map +1 -1
  32. package/js/destroy.support.d.ts +6 -0
  33. package/js/destroy.support.js +10 -0
  34. package/js/destroy.support.js.map +1 -0
  35. package/js/destroyTag.function.d.ts +2 -3
  36. package/js/destroyTag.function.js +7 -11
  37. package/js/destroyTag.function.js.map +1 -1
  38. package/js/hasTagSupportChanged.function.js +0 -12
  39. package/js/hasTagSupportChanged.function.js.map +1 -1
  40. package/js/index.d.ts +3 -10
  41. package/js/index.js +3 -13
  42. package/js/index.js.map +1 -1
  43. package/js/interpolateTemplate.js +0 -5
  44. package/js/interpolateTemplate.js.map +1 -1
  45. package/js/interpolations/bindSubjectCallback.function.d.ts +7 -0
  46. package/js/interpolations/bindSubjectCallback.function.js +40 -0
  47. package/js/interpolations/bindSubjectCallback.function.js.map +1 -0
  48. package/js/interpolations/elementInitCheck.d.ts +2 -0
  49. package/js/interpolations/elementInitCheck.js +18 -0
  50. package/js/interpolations/elementInitCheck.js.map +1 -0
  51. package/js/interpolations/inputAttribute.d.ts +1 -0
  52. package/js/interpolations/inputAttribute.js +19 -0
  53. package/js/interpolations/inputAttribute.js.map +1 -0
  54. package/js/interpolations/interpolateAttributes.d.ts +4 -0
  55. package/js/interpolations/interpolateAttributes.js +20 -0
  56. package/js/interpolations/interpolateAttributes.js.map +1 -0
  57. package/js/interpolations/interpolateContentTemplates.d.ts +9 -0
  58. package/js/interpolations/interpolateContentTemplates.js +42 -0
  59. package/js/interpolations/interpolateContentTemplates.js.map +1 -0
  60. package/js/interpolations/interpolateElement.d.ts +14 -0
  61. package/js/interpolations/interpolateElement.js +36 -0
  62. package/js/interpolations/interpolateElement.js.map +1 -0
  63. package/js/interpolations/interpolateTemplate.d.ts +32 -0
  64. package/js/interpolations/interpolateTemplate.js +80 -0
  65. package/js/interpolations/interpolateTemplate.js.map +1 -0
  66. package/js/interpolations/interpolations.d.ts +7 -0
  67. package/js/interpolations/interpolations.js +18 -0
  68. package/js/interpolations/interpolations.js.map +1 -0
  69. package/js/interpolations/processAttribute.function.d.ts +5 -0
  70. package/js/interpolations/processAttribute.function.js +122 -0
  71. package/js/interpolations/processAttribute.function.js.map +1 -0
  72. package/js/interpolations/scanTextAreaValue.function.d.ts +3 -0
  73. package/js/interpolations/scanTextAreaValue.function.js +16 -0
  74. package/js/interpolations/scanTextAreaValue.function.js.map +1 -0
  75. package/js/interpolations.js +1 -2
  76. package/js/interpolations.js.map +1 -1
  77. package/js/isInstance.d.ts +4 -1
  78. package/js/isInstance.js +12 -4
  79. package/js/isInstance.js.map +1 -1
  80. package/js/isLikeTags.function.d.ts +3 -1
  81. package/js/isLikeTags.function.js +15 -6
  82. package/js/isLikeTags.function.js.map +1 -1
  83. package/js/processNewValue.function.d.ts +3 -2
  84. package/js/processNewValue.function.js +27 -11
  85. package/js/processNewValue.function.js.map +1 -1
  86. package/js/processRegularValue.function.d.ts +1 -1
  87. package/js/processSubjectComponent.function.d.ts +5 -5
  88. package/js/processSubjectComponent.function.js +27 -35
  89. package/js/processSubjectComponent.function.js.map +1 -1
  90. package/js/processSubjectValue.function.d.ts +11 -7
  91. package/js/processSubjectValue.function.js +20 -7
  92. package/js/processSubjectValue.function.js.map +1 -1
  93. package/js/processTag.function.d.ts +8 -4
  94. package/js/processTag.function.js +23 -39
  95. package/js/processTag.function.js.map +1 -1
  96. package/js/processTagArray.d.ts +6 -4
  97. package/js/processTagArray.js +41 -39
  98. package/js/processTagArray.js.map +1 -1
  99. package/js/processTagResult.function.d.ts +4 -4
  100. package/js/processTagResult.function.js +14 -30
  101. package/js/processTagResult.function.js.map +1 -1
  102. package/js/renderExistingTag.function.d.ts +6 -6
  103. package/js/renderExistingTag.function.js +27 -23
  104. package/js/renderExistingTag.function.js.map +1 -1
  105. package/js/renderTagSupport.function.d.ts +2 -3
  106. package/js/renderTagSupport.function.js +17 -20
  107. package/js/renderTagSupport.function.js.map +1 -1
  108. package/js/setTagPlaceholder.function.d.ts +2 -0
  109. package/js/setTagPlaceholder.function.js +8 -0
  110. package/js/setTagPlaceholder.function.js.map +1 -0
  111. package/js/state/callbackMaker.function.d.ts +3 -0
  112. package/js/state/callbackMaker.function.js +51 -0
  113. package/js/state/callbackMaker.function.js.map +1 -0
  114. package/js/state/getCallback.d.ts +3 -0
  115. package/js/state/getCallback.js +51 -0
  116. package/js/state/getCallback.js.map +1 -0
  117. package/js/state/index.d.ts +10 -0
  118. package/js/state/index.js +10 -0
  119. package/js/state/index.js.map +1 -0
  120. package/js/state/letState.function.d.ts +3 -0
  121. package/js/state/letState.function.js +42 -0
  122. package/js/state/letState.function.js.map +1 -0
  123. package/js/state/onDestroy.d.ts +2 -0
  124. package/js/state/onDestroy.js +17 -0
  125. package/js/state/onDestroy.js.map +1 -0
  126. package/js/state/onInit.d.ts +2 -0
  127. package/js/state/onInit.js +16 -0
  128. package/js/state/onInit.js.map +1 -0
  129. package/js/state/provider.utils.d.ts +2 -0
  130. package/js/state/provider.utils.js +40 -0
  131. package/js/state/provider.utils.js.map +1 -0
  132. package/js/state/providers.d.ts +23 -0
  133. package/js/state/providers.js +83 -0
  134. package/js/state/providers.js.map +1 -0
  135. package/js/state/setProp.function.d.ts +3 -0
  136. package/js/state/setProp.function.js +37 -0
  137. package/js/state/setProp.function.js.map +1 -0
  138. package/js/state/setUse.function.d.ts +25 -0
  139. package/js/state/setUse.function.js +14 -0
  140. package/js/state/setUse.function.js.map +1 -0
  141. package/js/state/state.function.d.ts +2 -0
  142. package/js/state/state.function.js +34 -0
  143. package/js/state/state.function.js.map +1 -0
  144. package/js/state/state.utils.d.ts +20 -0
  145. package/js/state/state.utils.js +91 -0
  146. package/js/state/state.utils.js.map +1 -0
  147. package/js/state/watch.function.d.ts +8 -0
  148. package/js/state/watch.function.js +25 -0
  149. package/js/state/watch.function.js.map +1 -0
  150. package/js/subject/Subject.class.d.ts +10 -6
  151. package/js/subject/Subject.class.js +29 -13
  152. package/js/subject/Subject.class.js.map +1 -1
  153. package/js/subject/Subject.utils.d.ts +7 -5
  154. package/js/subject/Subject.utils.js.map +1 -1
  155. package/js/subject/ValueSubject.d.ts +2 -2
  156. package/js/subject/ValueSubject.js.map +1 -1
  157. package/js/subject/combineLatest.function.js.map +1 -1
  158. package/js/subject.types.d.ts +18 -0
  159. package/js/subject.types.js +2 -0
  160. package/js/subject.types.js.map +1 -0
  161. package/js/tag.d.ts +1 -1
  162. package/js/tag.js +26 -32
  163. package/js/tag.js.map +1 -1
  164. package/js/tagElement.d.ts +3 -7
  165. package/js/tagElement.js +24 -24
  166. package/js/tagElement.js.map +1 -1
  167. package/js/tagRunner.d.ts +7 -6
  168. package/js/tagRunner.js +17 -9
  169. package/js/tagRunner.js.map +1 -1
  170. package/js/updateBeforeTemplate.function.d.ts +1 -1
  171. package/js/updateBeforeTemplate.function.js.map +1 -1
  172. package/js/updateContextItem.function.d.ts +3 -0
  173. package/js/updateContextItem.function.js +43 -0
  174. package/js/updateContextItem.function.js.map +1 -0
  175. package/js/updateExistingTagComponent.function.d.ts +4 -4
  176. package/js/updateExistingTagComponent.function.js +49 -88
  177. package/js/updateExistingTagComponent.function.js.map +1 -1
  178. package/js/updateExistingValue.function.d.ts +2 -7
  179. package/js/updateExistingValue.function.js +94 -50
  180. package/js/updateExistingValue.function.js.map +1 -1
  181. package/package.json +1 -1
@@ -0,0 +1,37 @@
1
+ import { getStateValue } from './state.utils';
2
+ import { setUse } from './setUse.function';
3
+ /** Used for variables that need to remain the same variable during render passes */
4
+ export function setProp(getSet) {
5
+ const config = setUse.memory.stateConfig;
6
+ const rearray = config.rearray;
7
+ const [propValue] = getSet(undefined);
8
+ getSet(propValue); // restore original value instead of undefined
9
+ const restate = rearray[config.array.length];
10
+ if (restate) {
11
+ let watchValue = restate.watch;
12
+ let oldValue = getStateValue(restate);
13
+ const push = {
14
+ get: () => getStateValue(push),
15
+ callback: getSet,
16
+ lastValue: oldValue,
17
+ watch: restate.watch,
18
+ };
19
+ // has the prop value changed?
20
+ if (propValue != watchValue) {
21
+ push.watch = propValue;
22
+ oldValue = push.lastValue = propValue;
23
+ }
24
+ config.array.push(push);
25
+ getSet(oldValue);
26
+ return oldValue;
27
+ }
28
+ const push = {
29
+ get: () => getStateValue(push),
30
+ callback: getSet,
31
+ lastValue: propValue,
32
+ watch: propValue,
33
+ };
34
+ config.array.push(push);
35
+ return propValue;
36
+ }
37
+ //# sourceMappingURL=setProp.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setProp.function.js","sourceRoot":"","sources":["../../ts/state/setProp.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqD,aAAa,EAAE,MAAM,eAAe,CAAA;AAChG,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,oFAAoF;AACpF,MAAM,UAAU,OAAO,CACrB,MAAmB;IAEnB,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,WAAW,CAAA;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC,OAA2B,CAAA;IAElD,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,SAAc,CAAC,CAAA;IAC1C,MAAM,CAAC,SAAS,CAAC,CAAA,CAAC,8CAA8C;IAEhE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC5C,IAAG,OAAO,EAAE,CAAC;QACX,IAAI,UAAU,GAAG,OAAO,CAAC,KAAU,CAAA;QACnC,IAAI,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAM,CAAA;QAE1C,MAAM,IAAI,GAAuB;YAC/B,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAM;YACnC,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,QAAQ;YACnB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAA;QAED,8BAA8B;QAC9B,IAAG,SAAS,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA;YACtB,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QACvC,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEvB,MAAM,CAAC,QAAQ,CAAC,CAAA;QAEhB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,MAAM,IAAI,GAAuB;QAC/B,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAM;QACnC,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,SAAS;QACpB,KAAK,EAAE,SAAS;KACjB,CAAA;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEvB,OAAO,SAAS,CAAA;AAClB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { BaseTagSupport, TagSupport } from '../TagSupport.class';
2
+ import { ProviderConfig } from './providers';
3
+ import { Config } from './state.utils';
4
+ interface TagUse {
5
+ beforeRender: (tagSupport: BaseTagSupport, ownerTag?: TagSupport) => void;
6
+ beforeRedraw: (tagSupport: BaseTagSupport, tag: TagSupport) => void;
7
+ afterRender: (tagSupport: BaseTagSupport, tag: TagSupport) => void;
8
+ beforeDestroy: (tagSupport: BaseTagSupport, tag: TagSupport) => void;
9
+ }
10
+ export type UseOptions = {
11
+ beforeRender?: (tagSupport: BaseTagSupport, ownerTag?: TagSupport) => void;
12
+ beforeRedraw?: (tagSupport: BaseTagSupport, tag: TagSupport) => void;
13
+ afterRender?: (tagSupport: BaseTagSupport, tag: TagSupport) => void;
14
+ beforeDestroy?: (tagSupport: BaseTagSupport, tag: TagSupport) => void;
15
+ };
16
+ export declare function setUse(use: UseOptions): void;
17
+ export declare namespace setUse {
18
+ var tagUse: TagUse[];
19
+ var memory: Record<string, any> & {
20
+ stateConfig: Config;
21
+ providerConfig: ProviderConfig;
22
+ initCurrentSupport: TagSupport;
23
+ };
24
+ }
25
+ export {};
@@ -0,0 +1,14 @@
1
+ const tagUse = [];
2
+ export function setUse(use) {
3
+ // must provide defaults
4
+ const useMe = {
5
+ beforeRender: use.beforeRender || (() => undefined),
6
+ beforeRedraw: use.beforeRedraw || (() => undefined),
7
+ afterRender: use.afterRender || (() => undefined),
8
+ beforeDestroy: use.beforeDestroy || (() => undefined),
9
+ };
10
+ setUse.tagUse.push(useMe);
11
+ }
12
+ setUse.tagUse = tagUse;
13
+ setUse.memory = {};
14
+ //# sourceMappingURL=setUse.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setUse.function.js","sourceRoot":"","sources":["../../ts/state/setUse.function.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,GAAa,EAAE,CAAA;AAyB3B,MAAM,UAAU,MAAM,CAAC,GAAe;IACpC,wBAAwB;IACxB,MAAM,KAAK,GAAW;QACpB,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QACnD,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QACnD,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QACjD,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;KACtD,CAAA;IAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;AACtB,MAAM,CAAC,MAAM,GAAG,EAId,CAAA"}
@@ -0,0 +1,2 @@
1
+ /** Used for variables that need to remain the same variable during render passes */
2
+ export declare function state<T>(defaultValue: T | (() => T)): T;
@@ -0,0 +1,34 @@
1
+ import { setUse } from './setUse.function';
2
+ import { getStateValue } from './state.utils';
3
+ /** Used for variables that need to remain the same variable during render passes */
4
+ export function state(defaultValue) {
5
+ const config = setUse.memory.stateConfig;
6
+ let getSetMethod;
7
+ const rearray = config.rearray;
8
+ const restate = rearray[config.array.length];
9
+ if (restate) {
10
+ let oldValue = getStateValue(restate);
11
+ getSetMethod = ((x) => [oldValue, oldValue = x]);
12
+ const push = {
13
+ get: () => getStateValue(push),
14
+ callback: getSetMethod,
15
+ lastValue: oldValue,
16
+ defaultValue: restate.defaultValue,
17
+ };
18
+ config.array.push(push);
19
+ return oldValue;
20
+ }
21
+ // State first time run
22
+ const defaultFn = defaultValue instanceof Function ? defaultValue : () => defaultValue;
23
+ let initValue = defaultFn();
24
+ getSetMethod = ((x) => [initValue, initValue = x]);
25
+ const push = {
26
+ get: () => getStateValue(push),
27
+ callback: getSetMethod,
28
+ lastValue: initValue,
29
+ defaultValue: initValue,
30
+ };
31
+ config.array.push(push);
32
+ return initValue;
33
+ }
34
+ //# sourceMappingURL=state.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.function.js","sourceRoot":"","sources":["../../ts/state/state.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAA0D,aAAa,EAAE,MAAM,eAAe,CAAA;AAErG,oFAAoF;AACpF,MAAM,UAAU,KAAK,CACnB,YAA2B;IAE3B,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,WAAW,CAAA;IAChD,IAAI,YAA4B,CAAA;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,OAA2B,CAAA;IAElD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC5C,IAAG,OAAO,EAAE,CAAC;QACX,IAAI,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAM,CAAA;QAC1C,YAAY,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAA;QACnD,MAAM,IAAI,GAAuB;YAC/B,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAM;YACnC,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAA;QAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEvB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,uBAAuB;IACvB,MAAM,SAAS,GAAG,YAAY,YAAY,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CAAA;IACtF,IAAI,SAAS,GAAG,SAAS,EAAE,CAAA;IAE3B,YAAY,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAA;IACrD,MAAM,IAAI,GAAuB;QAC/B,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAM;QACnC,QAAQ,EAAE,YAAY;QACtB,SAAS,EAAE,SAAS;QACpB,YAAY,EAAE,SAAS;KACxB,CAAA;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEvB,OAAO,SAAS,CAAA;AAClB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { BaseTagSupport } from '../TagSupport.class';
2
+ export type StateConfig<T> = (x: T) => [T, T];
3
+ export type StateConfigItem<T> = {
4
+ get: () => T;
5
+ callback?: StateConfig<T>;
6
+ lastValue?: T;
7
+ defaultValue?: T;
8
+ watch?: T;
9
+ };
10
+ export type StateConfigArray = StateConfigItem<any>[];
11
+ export type Config = {
12
+ tagSupport: BaseTagSupport;
13
+ array: StateConfigArray;
14
+ rearray?: StateConfigArray;
15
+ };
16
+ export type State = StateConfigArray;
17
+ export type GetSet<T> = (y: T) => [T, T];
18
+ export declare function getStateValue<T>(state: StateConfigItem<T>): T | undefined;
19
+ export declare class StateEchoBack {
20
+ }
@@ -0,0 +1,91 @@
1
+ import { StateMismatchError } from '../errors';
2
+ import { setUse } from './setUse.function';
3
+ // TODO: rename
4
+ setUse.memory.stateConfig = {
5
+ array: [], // state memory on the first render
6
+ // rearray: [] as StateConfigArray, // state memory to be used before the next render
7
+ };
8
+ const beforeRender = (tagSupport) => initState(tagSupport);
9
+ setUse({
10
+ beforeRender,
11
+ beforeRedraw: beforeRender,
12
+ afterRender: (tagSupport) => {
13
+ const memory = tagSupport.memory;
14
+ const state = memory.state;
15
+ const config = setUse.memory.stateConfig;
16
+ const rearray = config.rearray;
17
+ if (rearray.length) {
18
+ if (rearray.length !== config.array.length) {
19
+ const message = `States lengths has changed ${rearray.length} !== ${config.array.length}. Typically occurs when a function is intended to be wrapped with a tag() call`;
20
+ const wrapper = tagSupport.templater?.wrapper;
21
+ const details = {
22
+ oldStates: config.array,
23
+ newStates: config.rearray,
24
+ tagFunction: wrapper.original,
25
+ };
26
+ const error = new StateMismatchError(message, details);
27
+ console.warn(message, details);
28
+ throw error;
29
+ }
30
+ }
31
+ delete config.rearray; // clean up any previous runs
32
+ memory.state = config.array; // [...config.array]
33
+ memory.state.forEach(item => item.lastValue = getStateValue(item)); // set last values
34
+ config.array = [];
35
+ }
36
+ });
37
+ export function getStateValue(
38
+ // state: StateConfig,
39
+ state) {
40
+ const callback = state.callback;
41
+ if (!callback) {
42
+ return state.defaultValue;
43
+ }
44
+ const oldState = callback(StateEchoBack); // get value and set to undefined
45
+ const [oldValue] = oldState;
46
+ const [checkValue] = callback(oldValue); // set back to original value
47
+ if (checkValue !== StateEchoBack) {
48
+ const message = 'State property not used correctly. Second item in array is not setting value as expected.\n\n' +
49
+ 'For "let" state use `let name = state(default)(x => [name, name = x])`\n\n' +
50
+ 'For "const" state use `const name = state(default)()`\n\n' +
51
+ 'Problem state:\n' + (callback ? callback.toString() : JSON.stringify(state)) + '\n';
52
+ console.error(message, { state, callback, oldState, oldValue, checkValue });
53
+ throw new Error(message);
54
+ }
55
+ // state.lastValue = oldValue
56
+ return oldValue;
57
+ }
58
+ export class StateEchoBack {
59
+ }
60
+ function initState(tagSupport) {
61
+ const memory = tagSupport.memory;
62
+ const state = memory.state;
63
+ const config = setUse.memory.stateConfig;
64
+ // TODO: This guard may no longer be needed
65
+ if (config.rearray) {
66
+ const wrapper = tagSupport.templater?.wrapper;
67
+ const wasWrapper = config.tagSupport?.templater.wrapper;
68
+ const message = 'last state not cleared. Possibly in the middle of rendering one component and another is trying to render';
69
+ console.error(message, {
70
+ config,
71
+ tagFunction: wrapper.original,
72
+ wasInMiddleOf: wasWrapper.original,
73
+ state,
74
+ expectedClearArray: config.rearray,
75
+ });
76
+ throw new StateMismatchError(message, {
77
+ config,
78
+ tagFunction: wrapper.original,
79
+ state,
80
+ expectedClearArray: config.rearray,
81
+ });
82
+ }
83
+ // TODO: this maybe redundant and not needed
84
+ config.rearray = []; // .length = 0
85
+ if (state?.length) {
86
+ state.forEach(state => getStateValue(state));
87
+ config.rearray.push(...state);
88
+ }
89
+ config.tagSupport = tagSupport;
90
+ }
91
+ //# sourceMappingURL=state.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.utils.js","sourceRoot":"","sources":["../../ts/state/state.utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export type WatchCallback = (currentValues: any[], previousValues: any[] | undefined) => unknown | ((currentValues: any[]) => unknown) | (() => unknown);
2
+ /**
3
+ * When an item in watch array changes, callback function will be triggered. Does not trigger on initial watch setup.
4
+ * @param currentValues T[]
5
+ * @param callback WatchCallback
6
+ * @returns T[]
7
+ */
8
+ export declare function watch<T>(currentValues: T[], callback: WatchCallback): T[];
@@ -0,0 +1,25 @@
1
+ import { letState } from './letState.function';
2
+ /**
3
+ * When an item in watch array changes, callback function will be triggered. Does not trigger on initial watch setup.
4
+ * @param currentValues T[]
5
+ * @param callback WatchCallback
6
+ * @returns T[]
7
+ */
8
+ export function watch(currentValues, callback) {
9
+ let previousValues = letState(undefined)(x => [previousValues, previousValues = x]);
10
+ // First time running watch?
11
+ if (previousValues === undefined) {
12
+ // callback(currentValues, previousValues) // do not call during init
13
+ previousValues = currentValues;
14
+ return currentValues;
15
+ }
16
+ const allExact = currentValues.every((item, index) => item === previousValues[index]);
17
+ if (allExact) {
18
+ return currentValues;
19
+ }
20
+ callback(currentValues, previousValues);
21
+ previousValues.length = 0;
22
+ previousValues.push(...currentValues);
23
+ return currentValues;
24
+ }
25
+ //# sourceMappingURL=watch.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.function.js","sourceRoot":"","sources":["../../ts/state/watch.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAO9C;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CACnB,aAAkB,EAClB,QAAuB;IAEvB,IAAI,cAAc,GAAG,QAAQ,CAAC,SAAkC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC,CAAA;IAE5G,4BAA4B;IAC5B,IAAG,cAAc,KAAK,SAAS,EAAE,CAAC;QAChC,qEAAqE;QACrE,cAAc,GAAG,aAAa,CAAA;QAC9B,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAM,cAAwB,CAAC,KAAK,CAAC,CAAC,CAAA;IAChG,IAAG,QAAQ,EAAE,CAAC;QACZ,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IACvC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAA;IACzB,cAAc,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAA;IAErC,OAAO,aAAa,CAAA;AACtB,CAAC"}
@@ -1,15 +1,18 @@
1
1
  import { OperatorFunction, SubjectLike, SubjectSubscriber, Subscription } from "./Subject.utils";
2
+ type OnSubscription<T> = (subscription: Subscription<T>) => unknown;
2
3
  export declare class Subject<T> implements SubjectLike<T> {
3
4
  value?: T | undefined;
5
+ onSubscription?: OnSubscription<T> | undefined;
4
6
  methods: OperatorFunction<any, any, any>[];
5
7
  isSubject: boolean;
6
- subscribers: SubjectSubscriber<T>[];
7
- subscribeWith?: (x: SubjectSubscriber<T>) => Subscription;
8
- constructor(value?: T | undefined);
9
- subscribe(callback: SubjectSubscriber<T>): Subscription;
10
- set(value: any): void;
11
- next: (value: any) => void;
8
+ subscribers: Subscription<T>[];
9
+ subscribeWith?: (x: SubjectSubscriber<T>) => Subscription<T>;
10
+ constructor(value?: T | undefined, onSubscription?: OnSubscription<T> | undefined);
11
+ subscribe(callback: SubjectSubscriber<T>): Subscription<T> | Subscription<any>;
12
+ set(value?: any): void;
13
+ next: (value?: any) => void;
12
14
  toPromise(): Promise<T>;
15
+ toCallback(callback: (x: T) => any): void;
13
16
  pipe(): Subject<T>;
14
17
  pipe<A, RESOLVE>(op1: OperatorFunction<T, A, RESOLVE>): Subject<A>;
15
18
  pipe<A, B, RESOLVE>(op1: OperatorFunction<T, A, RESOLVE>, op2: OperatorFunction<A, B, RESOLVE>): Subject<B>;
@@ -22,3 +25,4 @@ export declare class Subject<T> implements SubjectLike<T> {
22
25
  pipe<A, B, C, D, E, F, G, H, I, RESOLVE>(op1: OperatorFunction<T, A, RESOLVE>, op2: OperatorFunction<A, B, RESOLVE>, op3: OperatorFunction<B, C, RESOLVE>, op4: OperatorFunction<C, D, RESOLVE>, op5: OperatorFunction<D, E, RESOLVE>, op6: OperatorFunction<E, F, RESOLVE>, op7: OperatorFunction<F, G, RESOLVE>, op8: OperatorFunction<G, H, RESOLVE>, op9: OperatorFunction<H, I, RESOLVE>): Subject<I>;
23
26
  pipe<A, B, C, D, E, F, G, H, I, RESOLVE>(op1: OperatorFunction<T, A, RESOLVE>, op2: OperatorFunction<A, B, RESOLVE>, op3: OperatorFunction<B, C, RESOLVE>, op4: OperatorFunction<C, D, RESOLVE>, op5: OperatorFunction<D, E, RESOLVE>, op6: OperatorFunction<E, F, RESOLVE>, op7: OperatorFunction<F, G, RESOLVE>, op8: OperatorFunction<G, H, RESOLVE>, op9: OperatorFunction<H, I, RESOLVE>, ...operations: OperatorFunction<any, any, any>[]): Subject<unknown>;
24
27
  }
28
+ export {};
@@ -1,48 +1,60 @@
1
1
  export class Subject {
2
2
  value;
3
+ onSubscription;
3
4
  methods = [];
4
5
  isSubject = true;
5
6
  subscribers = [];
6
7
  subscribeWith;
7
8
  // unsubcount = 0 // 🔬 testing
8
- constructor(value) {
9
+ constructor(value, onSubscription) {
9
10
  this.value = value;
11
+ this.onSubscription = onSubscription;
10
12
  }
11
13
  subscribe(callback) {
14
+ const subscription = getSubscription(this, callback);
12
15
  // are we within a pipe?
13
16
  const subscribeWith = this.subscribeWith;
14
17
  if (subscribeWith) {
15
18
  // are we in a pipe?
16
19
  if (this.methods.length) {
17
20
  const orgCallback = callback;
18
- callback = (value, subscription) => {
19
- runPipedMethods(value, subscription, this.methods, lastValue => orgCallback(lastValue, subscription));
21
+ callback = (value) => {
22
+ runPipedMethods(value, this.methods, lastValue => orgCallback(lastValue, subscription));
20
23
  };
21
24
  }
22
25
  return subscribeWith(callback);
23
26
  }
24
- this.subscribers.push(callback);
25
- SubjectClass.globalSubs.push(callback); // 🔬 testing
26
- const subscription = getSubscription(this, callback);
27
+ this.subscribers.push(subscription);
28
+ SubjectClass.globalSubs.push(subscription); // 🔬 testing
29
+ if (this.onSubscription) {
30
+ this.onSubscription(subscription);
31
+ }
27
32
  return subscription;
28
33
  }
29
34
  set(value) {
30
35
  this.value = value;
31
36
  // Notify all subscribers with the new value
32
- this.subscribers.forEach((callback) => {
33
- callback.value = value;
34
- callback(value);
37
+ this.subscribers.forEach(sub => {
38
+ // (sub.callback as any).value = value
39
+ sub.callback(value, sub);
35
40
  });
36
41
  }
37
42
  next = this.set;
38
43
  toPromise() {
39
44
  return new Promise((res, rej) => {
40
- const subscription = this.subscribe(x => {
45
+ this.subscribe((x, subscription) => {
41
46
  subscription.unsubscribe();
42
47
  res(x);
43
48
  });
44
49
  });
45
50
  }
51
+ // like toPromise but faster
52
+ toCallback(callback) {
53
+ this.subscribe((x, subscription) => {
54
+ subscription.unsubscribe();
55
+ callback(x);
56
+ });
57
+ }
46
58
  pipe(...operations) {
47
59
  const subject = new Subject();
48
60
  subject.methods = operations;
@@ -51,7 +63,7 @@ export class Subject {
51
63
  }
52
64
  }
53
65
  function removeSubFromArray(subscribers, callback) {
54
- const index = subscribers.indexOf(callback);
66
+ const index = subscribers.findIndex(sub => sub.callback === callback);
55
67
  if (index !== -1) {
56
68
  subscribers.splice(index, 1);
57
69
  }
@@ -66,6 +78,7 @@ function getSubscription(subject, callback) {
66
78
  const subscription = () => {
67
79
  subscription.unsubscribe();
68
80
  };
81
+ subscription.callback = callback;
69
82
  subscription.subscriptions = [];
70
83
  // Return a function to unsubscribe from the BehaviorSubject
71
84
  subscription.unsubscribe = () => {
@@ -82,14 +95,17 @@ function getSubscription(subject, callback) {
82
95
  subscription.subscriptions.push(sub);
83
96
  return subscription;
84
97
  };
98
+ subscription.next = (value) => {
99
+ callback(value, subscription);
100
+ };
85
101
  return subscription;
86
102
  }
87
- function runPipedMethods(value, subscription, methods, onComplete) {
103
+ function runPipedMethods(value, methods, onComplete) {
88
104
  const cloneMethods = [...methods];
89
105
  const firstMethod = cloneMethods.shift();
90
106
  const next = (newValue) => {
91
107
  if (cloneMethods.length) {
92
- return runPipedMethods(newValue, subscription, cloneMethods, onComplete);
108
+ return runPipedMethods(newValue, cloneMethods, onComplete);
93
109
  }
94
110
  onComplete(newValue);
95
111
  // return newValue = next
@@ -1 +1 @@
1
- {"version":3,"file":"Subject.class.js","sourceRoot":"","sources":["../../ts/subject/Subject.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Subject.class.js","sourceRoot":"","sources":["../../ts/subject/Subject.class.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  export type Resolve<T> = (x: T) => any;
2
- export type Subscription = (() => void) & {
3
- unsubscribe: () => Subscription;
4
- add: (sub: Subscription) => Subscription;
5
- subscriptions: Subscription[];
2
+ export type Subscription<T> = (() => void) & {
3
+ callback: SubjectSubscriber<T>;
4
+ unsubscribe: () => Subscription<T>;
5
+ add: (sub: Subscription<T>) => Subscription<T>;
6
+ next: (value?: T) => any;
7
+ subscriptions: Subscription<T>[];
6
8
  };
7
- export type SubjectSubscriber<T> = (value: T, subscription: Subscription) => unknown;
9
+ export type SubjectSubscriber<T> = (value: T, subscription: Subscription<T>) => unknown;
8
10
  export interface SubjectLike<T> {
9
11
  subscribe?: (callback: SubjectSubscriber<T>) => any;
10
12
  isSubject?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Subject.utils.js","sourceRoot":"","sources":["../../ts/subject/Subject.utils.ts"],"names":[],"mappings":"AAwCA,MAAM,MAAM;CAAG"}
1
+ {"version":3,"file":"Subject.utils.js","sourceRoot":"","sources":["../../ts/subject/Subject.utils.ts"],"names":[],"mappings":"AA0CA,MAAM,MAAM;CAAG"}
@@ -1,9 +1,9 @@
1
1
  import { Subject } from './Subject.class';
2
2
  import { Subscription } from './Subject.utils';
3
- type ValueSubjectSubscriber<T> = (value: T, subscription: Subscription) => unknown;
3
+ type ValueSubjectSubscriber<T> = (value: T, subscription: Subscription<T>) => unknown;
4
4
  export declare class ValueSubject<T> extends Subject<T> {
5
5
  value: T;
6
6
  constructor(value: T);
7
- subscribe(callback: ValueSubjectSubscriber<T>): Subscription;
7
+ subscribe(callback: ValueSubjectSubscriber<T>): Subscription<any> | Subscription<T>;
8
8
  }
9
9
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ValueSubject.js","sourceRoot":"","sources":["../../ts/subject/ValueSubject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAQzC,MAAM,OAAO,YAAgB,SAAQ,OAAU;IAC1B;IAAnB,YAAmB,KAAQ;QACzB,KAAK,CAAC,KAAK,CAAC,CAAA;QADK,UAAK,GAAL,KAAK,CAAG;IAE3B,CAAC;IAED,SAAS,CAAC,QAAmC;QAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,QAAgC,CAAC,CAAA;QAEtE,uDAAuD;QACvD,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;QAElC,OAAO,YAAY,CAAA;IACrB,CAAC;CACF"}
1
+ {"version":3,"file":"ValueSubject.js","sourceRoot":"","sources":["../../ts/subject/ValueSubject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAUzC,MAAM,OAAO,YAAgB,SAAQ,OAAU;IAC1B;IAAnB,YAAmB,KAAQ;QACzB,KAAK,CAAC,KAAK,CAAC,CAAA;QADK,UAAK,GAAL,KAAK,CAAG;IAE3B,CAAC;IAED,SAAS,CAAC,QAAmC;QAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,QAAgC,CAAC,CAAA;QAEtE,uDAAuD;QACvD,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;QAElC,OAAO,YAAY,CAAA;IACrB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"combineLatest.function.js","sourceRoot":"","sources":["../../ts/subject/combineLatest.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAGzC,MAAM,UAAU,aAAa,CAC3B,QAAwB;IAExB,MAAM,MAAM,GAAG,IAAI,OAAO,EAAE,CAAA;IAE5B,MAAM,SAAS,GAAG,CAChB,QAAgC,EAChC,EAAE;QACF,MAAM,UAAU,GAAW,EAAE,CAAA;QAC7B,MAAM,MAAM,GAAU,EAAE,CAAA;QACxB,MAAM,QAAQ,GAAG,CAAC,CAAM,EAAE,KAAa,EAAE,EAAE;YACzC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;YACxB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAEjB,IAAG,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;YAChC,CAAC;QACH,CAAC,CAAA;QAED,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAA;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAkB,CAAA;QAC/C,MAAM,YAAY,GAAiB,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAE1E,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAEpG,YAAY,CAAC,aAAa,GAAG,aAAa,CAAA;QAE1C,OAAO,YAAY,CAAA;IACrB,CAAC,CAAA;IAED,MAAM,CAAC,aAAa,GAAG,SAAS,CAAA;IAEhC,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"combineLatest.function.js","sourceRoot":"","sources":["../../ts/subject/combineLatest.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAGzC,MAAM,UAAU,aAAa,CAC3B,QAAwB;IAExB,MAAM,MAAM,GAAG,IAAI,OAAO,EAAE,CAAA;IAE5B,MAAM,SAAS,GAAG,CAChB,QAAgC,EAChC,EAAE;QACF,MAAM,UAAU,GAAW,EAAE,CAAA;QAC7B,MAAM,MAAM,GAAU,EAAE,CAAA;QACxB,MAAM,QAAQ,GAAG,CAAC,CAAM,EAAE,KAAa,EAAE,EAAE;YACzC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;YACxB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAEjB,IAAG,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;YAChC,CAAC;QACH,CAAC,CAAA;QAED,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAA;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAkB,CAAA;QAC/C,MAAM,YAAY,GAAsB,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAE/E,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAEpG,YAAY,CAAC,aAAa,GAAG,aAAa,CAAA;QAE1C,OAAO,YAAY,CAAA;IACrB,CAAC,CAAA;IAED,MAAM,CAAC,aAAa,GAAG,SAAS,CAAA;IAEhC,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { InsertBefore } from "./Clones.type";
2
+ import { TagSupport } from "./TagSupport.class";
3
+ import { TemplaterResult } from "./TemplaterResult.class";
4
+ import { Template } from "./interpolations/interpolateTemplate";
5
+ import { Subject } from "./subject/Subject.class";
6
+ export type WasTagSubject = Subject<TemplaterResult> & {
7
+ tagSupport?: TagSupport;
8
+ };
9
+ export type TagSubject = Subject<TemplaterResult> & {
10
+ tagSupport: TagSupport;
11
+ };
12
+ type RegularValue = string | number | boolean;
13
+ export type DisplaySubject = Subject<RegularValue> & {
14
+ lastValue?: RegularValue;
15
+ clone?: Element | Text | Template;
16
+ insertBefore: InsertBefore;
17
+ };
18
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=subject.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subject.types.js","sourceRoot":"","sources":["../ts/subject.types.ts"],"names":[],"mappings":""}
package/js/tag.d.ts CHANGED
@@ -10,5 +10,5 @@ export type TagComponentBase<T extends any[]> = (arg: FirstArgOptional<T> extend
10
10
  export declare const tags: TagComponentBase<any>[];
11
11
  export type TagComponent = TagComponentBase<[any?, TagChildren?]> | TagComponentBase<[]>;
12
12
  /** Wraps a tag component in a state manager and always push children to last argument as an array */
13
- export declare function tag<T extends any[]>(tagComponent: TagComponentArg<T>): (TagComponentBase<T>);
13
+ export declare function tag<T extends any[]>(tagComponent: TagComponentArg<T>): TagComponentBase<T>;
14
14
  export {};