taggedjs 2.8.35 → 2.8.37

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 (252) hide show
  1. package/bundle.js +1 -1
  2. package/bundle.js.map +1 -1
  3. package/js/interpolations/attributes/addSupportEventListener.function.js +1 -1
  4. package/js/interpolations/attributes/bindSubjectCallback.function.d.ts +1 -6
  5. package/js/interpolations/attributes/bindSubjectCallback.function.js +22 -43
  6. package/js/interpolations/attributes/bindSubjectCallback.function.js.map +1 -1
  7. package/js/interpolations/attributes/checkToResolvePromise.function.d.ts +8 -0
  8. package/js/interpolations/attributes/checkToResolvePromise.function.js +34 -0
  9. package/js/interpolations/attributes/checkToResolvePromise.function.js.map +1 -0
  10. package/js/interpolations/attributes/getSupportWithState.function.js +1 -1
  11. package/js/interpolations/attributes/getUpTags.function.js +4 -3
  12. package/js/interpolations/attributes/getUpTags.function.js.map +1 -1
  13. package/js/interpolations/attributes/isSpecialAttribute.function.d.ts +2 -2
  14. package/js/interpolations/attributes/isSpecialAttribute.function.js +2 -2
  15. package/js/interpolations/attributes/isSpecialAttribute.function.js.map +1 -1
  16. package/js/interpolations/attributes/processNameValueAttribute.function.js +0 -1
  17. package/js/interpolations/attributes/processNameValueAttribute.function.js.map +1 -1
  18. package/js/interpolations/attributes/renderTagArray.function.js +1 -1
  19. package/js/interpolations/attributes/specialAttribute.js +1 -1
  20. package/js/interpolations/optimizers/domProcessContextItem.function.js +4 -6
  21. package/js/interpolations/optimizers/domProcessContextItem.function.js.map +1 -1
  22. package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.js +0 -11
  23. package/js/interpolations/optimizers/htmlInterpolationToDomMeta.function.js.map +1 -1
  24. package/js/jsTagVar/array.function.d.ts +2 -0
  25. package/js/jsTagVar/array.function.js +10 -0
  26. package/js/jsTagVar/array.function.js.map +1 -0
  27. package/js/jsTagVar/signal.function.d.ts +15 -0
  28. package/js/jsTagVar/signal.function.js +47 -0
  29. package/js/jsTagVar/signal.function.js.map +1 -0
  30. package/js/render/afterRender.function.js +1 -1
  31. package/js/render/attributes/createDynamicAttribute.function.js +8 -2
  32. package/js/render/attributes/createDynamicAttribute.function.js.map +1 -1
  33. package/js/render/attributes/getTagJsVar.function.js.map +1 -1
  34. package/js/render/attributes/processAttribute.function.d.ts +3 -1
  35. package/js/render/attributes/processAttribute.function.js +17 -2
  36. package/js/render/attributes/processAttribute.function.js.map +1 -1
  37. package/js/render/attributes/processUpdateAttrContext.function.d.ts +2 -1
  38. package/js/render/attributes/processUpdateAttrContext.function.js.map +1 -1
  39. package/js/render/buildBeforeElement.function.js +7 -5
  40. package/js/render/buildBeforeElement.function.js.map +1 -1
  41. package/js/render/destroySupport.function.js +2 -2
  42. package/js/render/destroySupport.function.js.map +1 -1
  43. package/js/render/dom/attachDomElements.function.js +8 -5
  44. package/js/render/dom/attachDomElements.function.js.map +1 -1
  45. package/js/render/executeWrap.function.js +2 -1
  46. package/js/render/executeWrap.function.js.map +1 -1
  47. package/js/render/paint.function.d.ts +1 -1
  48. package/js/render/paint.function.js +17 -14
  49. package/js/render/paint.function.js.map +1 -1
  50. package/js/render/registerNewTagElement.function.js +1 -1
  51. package/js/render/registerNewTagElement.function.js.map +1 -1
  52. package/js/render/renderExistingTag.function.d.ts +1 -2
  53. package/js/render/renderExistingTag.function.js +6 -10
  54. package/js/render/renderExistingTag.function.js.map +1 -1
  55. package/js/render/renderSupport.function.d.ts +3 -2
  56. package/js/render/renderSupport.function.js +17 -25
  57. package/js/render/renderSupport.function.js.map +1 -1
  58. package/js/render/renderTagElement.function.d.ts +1 -0
  59. package/js/render/renderTagElement.function.js +1 -2
  60. package/js/render/renderTagElement.function.js.map +1 -1
  61. package/js/render/renderTagOnly.function.js +3 -4
  62. package/js/render/renderTagOnly.function.js.map +1 -1
  63. package/js/render/renderWithSupport.function.d.ts +1 -2
  64. package/js/render/renderWithSupport.function.js +6 -8
  65. package/js/render/renderWithSupport.function.js.map +1 -1
  66. package/js/render/softDestroySupport.function.js +3 -3
  67. package/js/render/softDestroySupport.function.js.map +1 -1
  68. package/js/render/update/processRenderOnceInit.function.js +2 -3
  69. package/js/render/update/processRenderOnceInit.function.js.map +1 -1
  70. package/js/render/update/processTag.function.d.ts +1 -1
  71. package/js/render/update/processTag.function.js +4 -4
  72. package/js/render/update/processTag.function.js.map +1 -1
  73. package/js/render/update/updateExistingTagComponent.function.d.ts +3 -3
  74. package/js/render/update/updateExistingTagComponent.function.js +29 -23
  75. package/js/render/update/updateExistingTagComponent.function.js.map +1 -1
  76. package/js/render/update/updateSupportBy.function.js +2 -2
  77. package/js/render/update/updateSupportBy.function.js.map +1 -1
  78. package/js/state/array.function.d.ts +4 -0
  79. package/js/state/array.function.js +59 -0
  80. package/js/state/array.function.js.map +1 -0
  81. package/js/state/awaits.d.ts +5 -0
  82. package/js/state/awaits.js +19 -0
  83. package/js/state/awaits.js.map +1 -0
  84. package/js/state/callback.function.js +1 -1
  85. package/js/state/callbackStateUpdate.function.js +1 -1
  86. package/js/state/handleProviderChanges.function.js +2 -2
  87. package/js/state/index.d.ts +1 -2
  88. package/js/state/index.js +1 -2
  89. package/js/state/index.js.map +1 -1
  90. package/js/state/letProp.function.js +1 -1
  91. package/js/state/letProp.function.js.map +1 -1
  92. package/js/state/onDestroy.js +1 -1
  93. package/js/state/onInit.js +13 -1
  94. package/js/state/onInit.js.map +1 -1
  95. package/js/state/pipe.function.d.ts +3 -0
  96. package/js/state/pipe.function.js +20 -0
  97. package/js/state/pipe.function.js.map +1 -0
  98. package/js/state/providers.js +3 -3
  99. package/js/state/providersChangeCheck.function.js +1 -1
  100. package/js/state/signal.function.d.ts +15 -0
  101. package/js/state/signal.function.js +51 -0
  102. package/js/state/signal.function.js.map +1 -0
  103. package/js/state/state.utils.d.ts +2 -3
  104. package/js/state/state.utils.js +8 -3
  105. package/js/state/state.utils.js.map +1 -1
  106. package/js/state/subscribeWith.function.js +2 -4
  107. package/js/state/subscribeWith.function.js.map +1 -1
  108. package/js/state/useAwaits.d.ts +5 -0
  109. package/js/state/useAwaits.js +17 -0
  110. package/js/state/useAwaits.js.map +1 -0
  111. package/js/state/watch.function.js +1 -1
  112. package/js/subject/index.d.ts +1 -1
  113. package/js/subject/index.js +1 -1
  114. package/js/subject/index.js.map +1 -1
  115. package/js/subject/signal.function.d.ts +5 -4
  116. package/js/subject/signal.function.js.map +1 -1
  117. package/js/tag/AdvancedContextItem.type.d.ts +0 -2
  118. package/js/tag/BaseSupport.type.d.ts +1 -1
  119. package/js/tag/Context.types.d.ts +1 -1
  120. package/js/tag/ContextItem.type.d.ts +4 -4
  121. package/js/tag/ProcessUpdate.type.d.ts +5 -0
  122. package/js/tag/ProcessUpdate.type.js +2 -0
  123. package/js/tag/ProcessUpdate.type.js.map +1 -0
  124. package/js/tag/Tag.type.d.ts +7 -5
  125. package/js/tag/ValueTypes.enum.d.ts +1 -0
  126. package/js/tag/ValueTypes.enum.js +1 -2
  127. package/js/tag/ValueTypes.enum.js.map +1 -1
  128. package/js/tag/checkTagValueChange.function.d.ts +1 -1
  129. package/js/tag/checkTagValueChange.function.js +3 -4
  130. package/js/tag/checkTagValueChange.function.js.map +1 -1
  131. package/js/tag/createHtmlSupport.function.d.ts +3 -3
  132. package/js/tag/createHtmlSupport.function.js +5 -5
  133. package/js/tag/destroyContext.function.js +2 -2
  134. package/js/tag/destroyContext.function.js.map +1 -1
  135. package/js/tag/getDomTag.function.d.ts +1 -4
  136. package/js/tag/getDomTag.function.js +15 -62
  137. package/js/tag/getDomTag.function.js.map +1 -1
  138. package/js/tag/getSupportInCycle.function.d.ts +3 -1
  139. package/js/tag/getSupportInCycle.function.js +3 -0
  140. package/js/tag/getSupportInCycle.function.js.map +1 -1
  141. package/js/tag/getTemplaterResult.function.d.ts +5 -4
  142. package/js/tag/getTemplaterResult.function.js +2 -0
  143. package/js/tag/getTemplaterResult.function.js.map +1 -1
  144. package/js/tag/hasSupportChanged.function.d.ts +1 -1
  145. package/js/tag/hasSupportChanged.function.js +3 -3
  146. package/js/tag/hasSupportChanged.function.js.map +1 -1
  147. package/js/tag/html.js +2 -1
  148. package/js/tag/html.js.map +1 -1
  149. package/js/tag/index.d.ts +1 -0
  150. package/js/tag/index.js +1 -0
  151. package/js/tag/index.js.map +1 -1
  152. package/js/tag/isLikeTags.function.d.ts +3 -3
  153. package/js/tag/isLikeTags.function.js +32 -21
  154. package/js/tag/isLikeTags.function.js.map +1 -1
  155. package/js/tag/output.function.d.ts +3 -1
  156. package/js/tag/output.function.js +16 -13
  157. package/js/tag/output.function.js.map +1 -1
  158. package/js/tag/processOuterDomTagInit.function.d.ts +9 -0
  159. package/js/tag/processOuterDomTagInit.function.js +72 -0
  160. package/js/tag/processOuterDomTagInit.function.js.map +1 -0
  161. package/js/tag/processUpdateContext.function.d.ts +1 -1
  162. package/js/tag/processUpdateContext.function.js +9 -11
  163. package/js/tag/processUpdateContext.function.js.map +1 -1
  164. package/js/tag/props/alterProp.function.d.ts +0 -1
  165. package/js/tag/props/alterProp.function.js +7 -19
  166. package/js/tag/props/alterProp.function.js.map +1 -1
  167. package/js/tag/props/safeRenderSupport.function.d.ts +2 -0
  168. package/js/tag/props/safeRenderSupport.function.js +11 -0
  169. package/js/tag/props/safeRenderSupport.function.js.map +1 -0
  170. package/js/tag/smartRemoveKids.function.js +19 -9
  171. package/js/tag/smartRemoveKids.function.js.map +1 -1
  172. package/js/tag/tagElement.js +21 -11
  173. package/js/tag/tagElement.js.map +1 -1
  174. package/js/tag/tagRunner.js +2 -2
  175. package/js/tag/update/SubContext.type.d.ts +6 -4
  176. package/js/tag/update/checkSubContext.function.d.ts +2 -1
  177. package/js/tag/update/checkSubContext.function.js +13 -7
  178. package/js/tag/update/checkSubContext.function.js.map +1 -1
  179. package/js/tag/update/compareArrayItems.function.js +1 -1
  180. package/js/tag/update/compareArrayItems.function.js.map +1 -1
  181. package/js/tag/update/createAndProcessContextItem.function.js +2 -0
  182. package/js/tag/update/createAndProcessContextItem.function.js.map +1 -1
  183. package/js/tag/update/deleteSubContext.function.d.ts +1 -1
  184. package/js/tag/update/deleteSubContext.function.js +7 -6
  185. package/js/tag/update/deleteSubContext.function.js.map +1 -1
  186. package/js/tag/update/forceUpdateExistingValue.function.js +1 -1
  187. package/js/tag/update/forceUpdateExistingValue.function.js.map +1 -1
  188. package/js/tag/update/getNewGlobal.function.d.ts +1 -1
  189. package/js/tag/update/getNewGlobal.function.js +3 -4
  190. package/js/tag/update/getNewGlobal.function.js.map +1 -1
  191. package/js/tag/update/handleStillTag.function.d.ts +2 -2
  192. package/js/tag/update/handleStillTag.function.js +12 -3
  193. package/js/tag/update/handleStillTag.function.js.map +1 -1
  194. package/js/tag/update/onFirstSubContext.function.d.ts +1 -1
  195. package/js/tag/update/onFirstSubContext.function.js +1 -1
  196. package/js/tag/update/onFirstSubContext.function.js.map +1 -1
  197. package/js/tag/update/processFirstSubjectComponent.function.js +10 -13
  198. package/js/tag/update/processFirstSubjectComponent.function.js.map +1 -1
  199. package/js/tag/update/processFirstSubjectValue.function.js +3 -3
  200. package/js/tag/update/processFirstSubjectValue.function.js.map +1 -1
  201. package/js/tag/update/processRegularValue.function.js +3 -3
  202. package/js/tag/update/processRegularValue.function.js.map +1 -1
  203. package/js/tag/update/processSubscribe.function.d.ts +2 -2
  204. package/js/tag/update/processSubscribe.function.js +6 -5
  205. package/js/tag/update/processSubscribe.function.js.map +1 -1
  206. package/js/tag/update/processTagResult.function.d.ts +0 -2
  207. package/js/tag/update/processTagResult.function.js +2 -9
  208. package/js/tag/update/processTagResult.function.js.map +1 -1
  209. package/js/tag/update/setupSubscribe.function.d.ts +3 -3
  210. package/js/tag/update/setupSubscribe.function.js +36 -19
  211. package/js/tag/update/setupSubscribe.function.js.map +1 -1
  212. package/js/tag/update/tagValueUpdateHandler.function.d.ts +0 -2
  213. package/js/tag/update/tagValueUpdateHandler.function.js +0 -15
  214. package/js/tag/update/tagValueUpdateHandler.function.js.map +1 -1
  215. package/js/tag/update/tryUpdateToTag.function.js +16 -1
  216. package/js/tag/update/tryUpdateToTag.function.js.map +1 -1
  217. package/js/tagJsVars/array.function.d.ts +3 -0
  218. package/js/tagJsVars/array.function.js +28 -0
  219. package/js/tagJsVars/array.function.js.map +1 -0
  220. package/js/tagJsVars/checkSimpleValueChange.function.d.ts +2 -0
  221. package/js/tagJsVars/checkSimpleValueChange.function.js +13 -0
  222. package/js/tagJsVars/checkSimpleValueChange.function.js.map +1 -0
  223. package/js/tagJsVars/getArrayTagJsVar.function.d.ts +2 -2
  224. package/js/tagJsVars/getArrayTagJsVar.function.js +2 -0
  225. package/js/tagJsVars/getArrayTagJsVar.function.js.map +1 -1
  226. package/js/tagJsVars/getInnerHTML.function.d.ts +5 -1
  227. package/js/tagJsVars/getInnerHTML.function.js +3 -2
  228. package/js/tagJsVars/getInnerHTML.function.js.map +1 -1
  229. package/js/tagJsVars/getSimpleTagVar.function.d.ts +3 -11
  230. package/js/tagJsVars/getSimpleTagVar.function.js +7 -11
  231. package/js/tagJsVars/getSimpleTagVar.function.js.map +1 -1
  232. package/js/tagJsVars/host.function.d.ts +18 -0
  233. package/js/tagJsVars/host.function.js +47 -0
  234. package/js/tagJsVars/host.function.js.map +1 -0
  235. package/js/tagJsVars/index.d.ts +5 -0
  236. package/js/tagJsVars/index.js +5 -0
  237. package/js/tagJsVars/index.js.map +1 -1
  238. package/js/tagJsVars/pipe.function.d.ts +3 -0
  239. package/js/tagJsVars/pipe.function.js +22 -0
  240. package/js/tagJsVars/pipe.function.js.map +1 -0
  241. package/js/tagJsVars/subscribe.function.d.ts +4 -4
  242. package/js/tagJsVars/subscribe.function.js +9 -7
  243. package/js/tagJsVars/subscribe.function.js.map +1 -1
  244. package/js/tagJsVars/subscribeWith.function.d.ts +3 -0
  245. package/js/tagJsVars/subscribeWith.function.js +21 -0
  246. package/js/tagJsVars/subscribeWith.function.js.map +1 -0
  247. package/js/tagJsVars/tag.function.js +3 -0
  248. package/js/tagJsVars/tag.function.js.map +1 -1
  249. package/js/tagJsVars/tagJsVar.type.d.ts +8 -0
  250. package/js/tagJsVars/valueToTagJsVar.function.d.ts +1 -1
  251. package/js/tagJsVars/valueToTagJsVar.function.js.map +1 -1
  252. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import { handleProviderChanges } from './handleProviderChanges.function.js';
2
2
  export function providersChangeCheck(support) {
3
- const global = support.subject.global;
3
+ const global = support.context.global;
4
4
  const providers = global.providers;
5
5
  if (!providers) {
6
6
  return [];
@@ -0,0 +1,15 @@
1
+ import { ValueTypes } from '../tag/ValueTypes.enum.js';
2
+ import { ProcessInit } from '../tag/ProcessInit.type.js';
3
+ import { SubscribeFn } from '../tagJsVars/subscribe.function.js';
4
+ import { TagJsVar } from '../tagJsVars/tagJsVar.type.js';
5
+ /** Checks if rendering cycle in process. Then creates object with "value" key and ability to "subscribe" to value changes */
6
+ export declare function signal<T>(initialValue: T): SignalObject<T>;
7
+ export type SignalObject<T> = TagJsVar & {
8
+ tagJsType: typeof ValueTypes.signal;
9
+ value: any;
10
+ subscribe: SubscribeFn<T>;
11
+ processInit: ProcessInit;
12
+ emit: (value: any) => any;
13
+ };
14
+ /** Creates object with "value" key and ability to "subscribe" to value changes */
15
+ export declare function Signal<T>(initialValue: T): SignalObject<T>;
@@ -0,0 +1,51 @@
1
+ import { state } from './index.js';
2
+ import { getSupportInCycle } from '../tag/getSupportInCycle.function.js';
3
+ import { processSignal } from '../tag/update/processSubscribe.function.js';
4
+ import { ValueTypes } from '../tag/ValueTypes.enum.js';
5
+ import { deleteAndUnsubscribe } from '../tag/update/setupSubscribe.function.js';
6
+ import { handleTagTypeChangeFrom } from '../tag/update/checkSubContext.function.js';
7
+ /** Checks if rendering cycle in process. Then creates object with "value" key and ability to "subscribe" to value changes */
8
+ export function signal(initialValue) {
9
+ const support = getSupportInCycle();
10
+ if (support) {
11
+ return state(() => Signal(initialValue));
12
+ }
13
+ return Signal(initialValue);
14
+ }
15
+ /** Creates object with "value" key and ability to "subscribe" to value changes */
16
+ export function Signal(initialValue) {
17
+ let value = initialValue;
18
+ const subscribers = new Set();
19
+ const emit = (newValue) => {
20
+ // Notify all subscribers
21
+ subscribers.forEach(callback => callback(newValue));
22
+ };
23
+ return {
24
+ tagJsType: ValueTypes.signal,
25
+ processInit: processSignal,
26
+ // processUpdate: tagValueUpdateHandler,
27
+ // processUpdate: checkSubContext,
28
+ processUpdate: (newValue, ownerSupport, contextItem, _values, counts) => handleTagTypeChangeFrom(ValueTypes.signal, newValue, ownerSupport, contextItem, counts),
29
+ get value() {
30
+ return value;
31
+ },
32
+ set value(newValue) {
33
+ if (value !== newValue) {
34
+ value = newValue;
35
+ emit(newValue);
36
+ }
37
+ },
38
+ delete: deleteAndUnsubscribe,
39
+ emit,
40
+ subscribe(callback) {
41
+ callback(value); // emit initial value
42
+ subscribers.add(callback);
43
+ // Return an unsubscribe function
44
+ const unsub = () => subscribers.delete(callback);
45
+ // support traditional unsubscribe
46
+ unsub.unsubscribe = unsub;
47
+ return unsub;
48
+ },
49
+ };
50
+ }
51
+ //# sourceMappingURL=signal.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signal.function.js","sourceRoot":"","sources":["../../ts/state/signal.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAItD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAA;AAI/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAA;AAGnF,6HAA6H;AAC7H,MAAM,UAAU,MAAM,CAAI,YAAe;IACvC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAA;IAEnC,IAAG,OAAO,EAAE,CAAC;QACX,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,OAAO,MAAM,CAAC,YAAY,CAAC,CAAA;AAC7B,CAAC;AAUD,kFAAkF;AAClF,MAAM,UAAU,MAAM,CAAI,YAAe;IACvC,IAAI,KAAK,GAAM,YAAY,CAAA;IAC3B,MAAM,WAAW,GAAuB,IAAI,GAAG,EAAE,CAAA;IACjD,MAAM,IAAI,GAAG,CAAC,QAAa,EAAE,EAAE;QAC7B,yBAAyB;QACzB,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;IACrD,CAAC,CAAA;IAED,OAAO;QACL,SAAS,EAAE,UAAU,CAAC,MAAM;QAC5B,WAAW,EAAE,aAAa;QAE1B,wCAAwC;QACxC,kCAAkC;QAClC,aAAa,EAAE,CACb,QAAiB,EACjB,YAAwB,EACxB,WAAwB,EACxB,OAAkB,EAClB,MAAiB,EACjB,EAAE,CAAC,uBAAuB,CAC1B,UAAU,CAAC,MAAM,EACjB,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,MAAM,CACP;QAED,IAAI,KAAK;YACP,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,KAAK,CAAC,QAAW;YACnB,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvB,KAAK,GAAG,QAAQ,CAAA;gBAChB,IAAI,CAAC,QAAQ,CAAC,CAAA;YAChB,CAAC;QACH,CAAC;QAED,MAAM,EAAE,oBAAoB;QAC5B,IAAI;QAEJ,SAAS,CAAC,QAAuB;YAC/B,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;QACd,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -1,8 +1,7 @@
1
1
  import { AnySupport } from '../tag/AnySupport.type.js';
2
2
  import { State, StateConfig } from './state.types.js';
3
- import { StateMemory } from './StateMemory.type.js';
4
- export declare function initState(support: AnySupport, config: StateMemory): void;
5
- export declare function reState(newSupport: AnySupport, prevSupport: AnySupport, config: StateMemory, prevState: State): void;
3
+ export declare function initState(support: AnySupport): void;
4
+ export declare function reState(newSupport: AnySupport, prevSupport: AnySupport, prevState: State): void;
6
5
  export declare class StateEchoBack {
7
6
  }
8
7
  /** sends a fake value and then sets back to received value */
@@ -1,15 +1,19 @@
1
1
  import { runFirstState, runRestate } from './stateHandlers.js';
2
2
  import { firstStatesHandler, reStatesHandler } from './states.utils.js';
3
- export function initState(support, config) {
3
+ import { setUseMemory } from './setUseMemory.object.js';
4
+ import { setSupportInCycle } from '../tag/getSupportInCycle.function.js';
5
+ export function initState(support) {
6
+ const config = setUseMemory.stateConfig;
4
7
  config.handlers.handler = runFirstState;
5
8
  config.handlers.statesHandler = firstStatesHandler;
6
9
  config.rearray = [];
7
10
  config.stateArray = [];
8
11
  config.states = [];
9
12
  config.statesIndex = 0;
10
- config.support = support;
13
+ setSupportInCycle(support);
11
14
  }
12
- export function reState(newSupport, prevSupport, config, prevState) {
15
+ export function reState(newSupport, prevSupport, prevState) {
16
+ const config = setUseMemory.stateConfig;
13
17
  // set previous state memory
14
18
  config.rearray = prevState;
15
19
  config.stateArray = [];
@@ -18,6 +22,7 @@ export function reState(newSupport, prevSupport, config, prevState) {
18
22
  config.handlers.handler = runRestate;
19
23
  config.handlers.statesHandler = reStatesHandler;
20
24
  config.prevSupport = prevSupport;
25
+ setSupportInCycle(newSupport);
21
26
  }
22
27
  export class StateEchoBack {
23
28
  }
@@ -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,kBAAkB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGvE,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,UAAsB,EACtB,WAAuB,EACvB,MAAmB,EACnB,SAAgB;IAEhB,4BAA4B;IAC5B,MAAM,CAAC,OAAO,GAAG,SAAS,CAAA;IAE1B,MAAM,CAAC,UAAU,GAAG,EAAE,CAAA;IACtB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAA;IAClB,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,WAAW,GAAG,WAAW,CAAA;AAClC,CAAC;AAED,MAAM,OAAO,aAAa;CAAG;AAE7B,8DAA8D;AAC9D,MAAM,UAAU,gBAAgB,CAC9B,QAAwB;IAExB,MAAM,CAAE,KAAK,CAAE,GAAG,QAAQ,CAAC,aAAoB,CAAC,CAAA,CAAC,iCAAiC;IAClF,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,EAAE,MAAM,mBAAmB,CAAA;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAExE,MAAM,UAAU,SAAS,CACvB,OAAmB;IAEnB,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAA;IACvC,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;IAEtB,iBAAiB,CAAC,OAAO,CAAC,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,UAAsB,EACtB,WAAuB,EACvB,SAAgB;IAEhB,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAA;IAEvC,4BAA4B;IAC5B,MAAM,CAAC,OAAO,GAAG,SAAS,CAAA;IAE1B,MAAM,CAAC,UAAU,GAAG,EAAE,CAAA;IACtB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAA;IAClB,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,WAAW,GAAG,WAAW,CAAA;IAChC,iBAAiB,CAAC,UAAU,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,OAAO,aAAa;CAAG;AAE7B,8DAA8D;AAC9D,MAAM,UAAU,gBAAgB,CAC9B,QAAwB;IAExB,MAAM,CAAE,KAAK,CAAE,GAAG,QAAQ,CAAC,aAAoB,CAAC,CAAA,CAAC,iCAAiC;IAClF,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAE,KAAK,CAAE,CAAA,CAAC,6BAA6B;IACpE,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;AAC5B,CAAC"}
@@ -9,13 +9,11 @@ export function subscribeWith(Observable, withDefault, callback) {
9
9
  tagJsType: ValueTypes.subscribe,
10
10
  processInit: processSubscribeWith,
11
11
  delete: deleteAndUnsubscribe,
12
- checkValueChange: function subscribeDoNothing() {
13
- return -1;
14
- },
15
- Observable,
16
12
  callback,
17
13
  withDefault,
18
14
  states: getSupportWithState(getSupportInCycle()).states,
15
+ Observable,
16
+ Observables: [Observable],
19
17
  };
20
18
  }
21
19
  //# sourceMappingURL=subscribeWith.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscribeWith.function.js","sourceRoot":"","sources":["../../ts/state/subscribeWith.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAA;AAElG,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAA;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAA;AAG/E,yIAAyI;AACzI,MAAM,UAAU,aAAa,CAC3B,UAAoC,EACpC,WAAoB,EACpB,QAAgD;IAEhD,OAAO;QACL,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,WAAW,EAAE,oBAAoB;QACjC,MAAM,EAAE,oBAAoB;QAE5B,gBAAgB,EAAE,SAAS,kBAAkB;YAC3C,OAAO,CAAC,CAAC,CAAA;QACX,CAAC;QAED,UAAU;QACV,QAAQ;QACR,WAAW;QACX,MAAM,EAAE,mBAAmB,CAAE,iBAAiB,EAAgB,CAAC,CAAC,MAAM;KACvE,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"subscribeWith.function.js","sourceRoot":"","sources":["../../ts/state/subscribeWith.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAA;AAElG,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAA;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAA;AAG/E,yIAAyI;AACzI,MAAM,UAAU,aAAa,CAC3B,UAAoC,EACpC,WAAoB,EACpB,QAAgD;IAEhD,OAAO;QACL,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,WAAW,EAAE,oBAAoB;QACjC,MAAM,EAAE,oBAAoB;QAE5B,QAAQ;QACR,WAAW;QACX,MAAM,EAAE,mBAAmB,CAAE,iBAAiB,EAAgB,CAAC,CAAC,MAAM;QAEtE,UAAU;QACV,WAAW,EAAE,CAAC,UAAU,CAAC;KAC1B,CAAA;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ export type OnInitCallback = () => unknown;
2
+ /** EXPERIMENTAL. NOT LIKING. runs a callback function one time and never again. Same as calling state(() => ...)*/
3
+ export declare function useAwaits(): {
4
+ add: Promise<any>;
5
+ };
@@ -0,0 +1,17 @@
1
+ import { thenResolveBy } from '../interpolations/attributes/checkToResolvePromise.function.js';
2
+ import { getSupportInCycle } from '../tag/getSupportInCycle.function.js';
3
+ /** EXPERIMENTAL. NOT LIKING. runs a callback function one time and never again. Same as calling state(() => ...)*/
4
+ export function useAwaits() {
5
+ const nowSupport = getSupportInCycle();
6
+ const controller = {};
7
+ Object.defineProperty(controller, 'add', {
8
+ set(x) {
9
+ x.then(thenResolveBy(nowSupport, resolvePromise));
10
+ },
11
+ });
12
+ return controller;
13
+ }
14
+ function resolvePromise(x) {
15
+ return x;
16
+ }
17
+ //# sourceMappingURL=useAwaits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAwaits.js","sourceRoot":"","sources":["../../ts/state/useAwaits.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gEAAgE,CAAA;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAIxE,mHAAmH;AACnH,MAAM,UAAU,SAAS;IACvB,MAAM,UAAU,GAAG,iBAAiB,EAAgB,CAAA;IACpD,MAAM,UAAU,GAAG,EAA2B,CAAA;IAE9C,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE;QACvC,GAAG,CAAC,CAAe;YACjB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAA;QACnD,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,CAAM;IAC5B,OAAO,CAAC,CAAA;AACV,CAAC"}
@@ -84,7 +84,7 @@ function defineOnMethod(getWatch, attachTo) {
84
84
  const setTo = callback(currentValues, previousValues);
85
85
  if (nowSupport !== firstSupport) {
86
86
  const newestState = oldState.stateArray;
87
- const global = firstSupport.subject.global;
87
+ const global = firstSupport.context.global;
88
88
  const oldest = global.oldest;
89
89
  const oldestState = oldest.state;
90
90
  const newStates = oldState.states;
@@ -1,4 +1,4 @@
1
- export { signal } from './signal.function.js';
1
+ export { signal } from '../state/signal.function.js';
2
2
  export type { Subscription } from './subject.utils.js';
3
3
  export * from './Subject.class.js';
4
4
  export * from './ValueSubject.js';
@@ -1,4 +1,4 @@
1
- export { signal } from './signal.function.js';
1
+ export { signal } from '../state/signal.function.js';
2
2
  export * from './Subject.class.js';
3
3
  export * from './ValueSubject.js';
4
4
  export * from './combineLatest.function.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/subject/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAG7C,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,6BAA6B,CAAA;AAGpD,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA"}
@@ -1,12 +1,13 @@
1
1
  import { ValueTypes } from '../tag/ValueTypes.enum.js';
2
2
  import { ProcessInit } from '../tag/ProcessInit.type.js';
3
+ import { SubscribeFn } from '../tagJsVars/subscribe.function.js';
3
4
  /** Checks if rendering cycle in process. Then creates object with "value" key and ability to "subscribe" to value changes */
4
- export declare function signal<T>(initialValue: T): SignalObject;
5
- export type SignalObject = {
5
+ export declare function signal<T>(initialValue: T): SignalObject<T>;
6
+ export type SignalObject<T> = {
6
7
  tagJsType: typeof ValueTypes.signal;
7
8
  value: any;
8
- subscribe: any;
9
+ subscribe: SubscribeFn<T>;
9
10
  processInit: ProcessInit;
10
11
  };
11
12
  /** Creates object with "value" key and ability to "subscribe" to value changes */
12
- export declare function Signal<T>(initialValue: T): SignalObject;
13
+ export declare function Signal<T>(initialValue: T): SignalObject<T>;
@@ -1 +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;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAKtD,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;AASD,kFAAkF;AAClF,MAAM,UAAU,MAAM,CAAI,YAAe;IACrC,IAAI,KAAK,GAAM,YAAY,CAAA;IAC3B,MAAM,WAAW,GAAoB,IAAI,GAAG,EAAE,CAAA;IAE9C,OAAO;QACH,SAAS,EAAE,UAAU,CAAC,MAAM;QAC5B,WAAW,EAAE,aAAa;QAE1B,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
+ {"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;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAKtD,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;AASD,kFAAkF;AAClF,MAAM,UAAU,MAAM,CAAI,YAAe;IACrC,IAAI,KAAK,GAAM,YAAY,CAAA;IAC3B,MAAM,WAAW,GAAuB,IAAI,GAAG,EAAE,CAAA;IAEjD,OAAO;QACH,SAAS,EAAE,UAAU,CAAC,MAAM;QAC5B,WAAW,EAAE,aAAa;QAE1B,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,QAAuB;YAC7B,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,5 +1,3 @@
1
- import { ContextHandler } from '../index.js';
2
1
  import { ContextItem } from './ContextItem.type.js';
3
2
  export interface AdvancedContextItem extends ContextItem {
4
- handler?: ContextHandler;
5
3
  }
@@ -1,5 +1,5 @@
1
1
  import { HtmlSupport } from './createHtmlSupport.function.js';
2
2
  import { SupportContextItem } from './SupportContextItem.type.js';
3
3
  export type BaseSupport = HtmlSupport & {
4
- subject: SupportContextItem;
4
+ context: SupportContextItem;
5
5
  };
@@ -5,5 +5,5 @@ import { SupportContextItem } from './SupportContextItem.type.js';
5
5
  import { TagCounts } from './TagCounts.type.js';
6
6
  export type ContextHandler = (value: TemplateValue, newSupport: AnySupport, contextItem: ContextItem, values: unknown[], counts: TagCounts) => void;
7
7
  export type LastArrayItem = ContextItem;
8
- export type CheckValueChange = (value: unknown, subject: ContextItem, counts: TagCounts) => number | boolean;
8
+ export type CheckValueChange = (value: unknown, subject: ContextItem, counts: TagCounts, ownerSupport: AnySupport) => number | boolean;
9
9
  export type CheckSupportValueChange = (value: unknown, subject: SupportContextItem, counts: TagCounts) => number | boolean;
@@ -2,13 +2,12 @@ import { HowToSet } from '../interpolations/attributes/howToSetInputValue.functi
2
2
  import { Clone, TagGlobal } from './getTemplaterResult.function.js';
3
3
  import { SubContext } from './update/SubContext.type.js';
4
4
  import { PaintCommand } from '../render/paint.function.js';
5
- import { ContextHandler, LastArrayItem } from '../index.js';
5
+ import { LastArrayItem } from '../index.js';
6
6
  import { TagJsVar } from '../tagJsVars/tagJsVar.type.js';
7
7
  import { SpecialDefinition } from '../render/attributes/Special.types.js';
8
8
  export interface ContextItem {
9
- element?: Element;
9
+ locked?: true;
10
10
  /** handler(value,newSupport,contextItem,values) Called on value update detected, within processUpdateOneContext(). Return value is ignored */
11
- handler?: ContextHandler;
12
11
  isAttr?: true;
13
12
  howToSet?: HowToSet;
14
13
  isNameOnly?: boolean;
@@ -19,8 +18,9 @@ export interface ContextItem {
19
18
  lastArray?: LastArrayItem[];
20
19
  subContext?: SubContext;
21
20
  value?: any;
22
- tagJsVar?: TagJsVar;
21
+ tagJsVar: TagJsVar;
23
22
  global?: TagGlobal;
23
+ element?: Element;
24
24
  placeholder?: Text;
25
25
  withinOwnerElement: boolean;
26
26
  }
@@ -0,0 +1,5 @@
1
+ import { ContextItem } from './ContextItem.type.js';
2
+ import { AnySupport } from './AnySupport.type.js';
3
+ import { TagCounts } from './TagCounts.type.js';
4
+ import { TemplateValue } from './TemplateValue.type.js';
5
+ export type ProcessUpdate = (value: TemplateValue, ownerSupport: AnySupport, contextItem: ContextItem, values: unknown[], counts: TagCounts) => any;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ProcessUpdate.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProcessUpdate.type.js","sourceRoot":"","sources":["../../ts/tag/ProcessUpdate.type.ts"],"names":[],"mappings":""}
@@ -1,7 +1,7 @@
1
1
  import { TemplaterResult } from './getTemplaterResult.function.js';
2
2
  import { AnySupport } from './AnySupport.type.js';
3
- import { TagJsVar } from '../tagJsVars/tagJsVar.type.js';
4
- export type Tag = TagJsVar & {
3
+ import { TagJsTag, TagJsVar } from '../tagJsVars/tagJsVar.type.js';
4
+ export type Tag = TagJsTag & {
5
5
  values: unknown[];
6
6
  templater?: TemplaterResult;
7
7
  ownerSupport?: AnySupport;
@@ -9,11 +9,13 @@ export type Tag = TagJsVar & {
9
9
  /** used in array.map() */
10
10
  key: (arrayValue: unknown) => Tag;
11
11
  arrayValue?: any;
12
- /** Used inside a tag/function to signify that innerHTML is expected */
13
- setInnerHTML: (innerHTML: any) => Tag;
12
+ /** Used INSIDE a tag/function to signify that innerHTML is expected */
13
+ acceptInnerHTML: (useTagVar: TagJsVar) => Tag;
14
14
  /** Use this to set content to be render within another component */
15
15
  innerHTML?: Tag;
16
- /** The true saved variable */
16
+ /** Same as innerHTML = x */
17
+ setHTML: (innerHTML: any) => Tag;
18
+ /** The true saved innerHTML variable */
17
19
  _innerHTML?: Tag;
18
20
  outerHTML?: Tag;
19
21
  };
@@ -23,6 +23,7 @@ type ValueTypeObject = {
23
23
  version: number;
24
24
  subscribe: string;
25
25
  signal: string;
26
+ host: string;
26
27
  };
27
28
  /** Used as direct memory comparisons, the strings are never compared, just the array */
28
29
  export declare const ValueTypes: ValueTypeObject;
@@ -21,8 +21,7 @@ export const ValueTypes = {
21
21
  templater: 'templater',
22
22
  tagComponent: 'tagComponent',
23
23
  tagArray: 'tagArray',
24
- // subject: 'subject',
25
- // tagJsSubject: 'tagJsSubject',
24
+ host: 'host',
26
25
  subscribe: 'subscribe',
27
26
  signal: 'signal',
28
27
  renderOnce: 'renderOnce',
@@ -1 +1 @@
1
- {"version":3,"file":"ValueTypes.enum.js","sourceRoot":"","sources":["../../ts/tag/ValueTypes.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAA;AAEvB,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;IACnB,yCAAuB,CAAA;AACzB,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAED,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,mCAAqB,CAAA;IACrB,2BAAa,CAAA;IACb,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;AACnB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAoBD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;AAE1B,wFAAwF;AACxF,MAAM,CAAC,MAAM,UAAU,GAAoB;IACzC,GAAG,EAAE,MAAM,EAAE,gCAAgC;IAC7C,GAAG,EAAE,KAAK,EAAE,6BAA6B;IAEzC,SAAS,EAAE,WAAW;IACtB,YAAY,EAAE,cAAc;IAC5B,QAAQ,EAAE,UAAU;IACpB,sBAAsB;IACtB,gCAAgC;IAChC,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAEhB,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAE1B,OAAO;CACR,CAAA"}
1
+ {"version":3,"file":"ValueTypes.enum.js","sourceRoot":"","sources":["../../ts/tag/ValueTypes.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAA;AAEvB,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;IACnB,yCAAuB,CAAA;AACzB,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;AAED,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,mCAAqB,CAAA;IACrB,2BAAa,CAAA;IACb,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;AACnB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAqBD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;AAE1B,wFAAwF;AACxF,MAAM,CAAC,MAAM,UAAU,GAAoB;IACzC,GAAG,EAAE,MAAM,EAAE,gCAAgC;IAC7C,GAAG,EAAE,KAAK,EAAE,6BAA6B;IAEzC,SAAS,EAAE,WAAW;IACtB,YAAY,EAAE,cAAc;IAC5B,QAAQ,EAAE,UAAU;IAEpB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAEhB,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAE1B,OAAO;CACR,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { SupportContextItem } from './SupportContextItem.type.js';
2
2
  import { ContextItem } from './ContextItem.type.js';
3
3
  import { TagCounts } from './TagCounts.type.js';
4
- export declare function checkTagValueChange(newValue: unknown, contextItem: SupportContextItem, counts: TagCounts): -1 | 7 | 8 | 77 | 663 | 88;
4
+ export declare function checkTagValueChange(newValue: unknown, contextItem: SupportContextItem, counts: TagCounts): -1 | 7 | 88 | 8;
5
5
  export declare function destroySupportByContextItem(contextItem: ContextItem): void;
@@ -5,9 +5,6 @@ import { isLikeTags } from './isLikeTags.function.js';
5
5
  import { tryUpdateToTag } from './update/tryUpdateToTag.function.js';
6
6
  export function checkTagValueChange(newValue, contextItem, counts) {
7
7
  const global = contextItem.global;
8
- if (!global) {
9
- return 663; // its not a tag this time
10
- }
11
8
  const lastSupport = global?.newest;
12
9
  const isValueTag = isStaticTag(newValue);
13
10
  const newTag = newValue;
@@ -19,7 +16,9 @@ export function checkTagValueChange(newValue, contextItem, counts) {
19
16
  getNewGlobal(contextItem);
20
17
  return 7; // 'tag-swap'
21
18
  }
22
- return 77; // always cause a redraw of static tags (was false)
19
+ // always cause a redraw of static tags (was false)
20
+ tryUpdateToTag(contextItem, newValue, lastSupport, counts);
21
+ return -1;
23
22
  }
24
23
  const isTag = newValue?.tagJsType;
25
24
  if (isTag) {
@@ -1 +1 @@
1
- {"version":3,"file":"checkTagValueChange.function.js","sourceRoot":"","sources":["../../ts/tag/checkTagValueChange.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AAErE,OAAO,EAAE,WAAW,EAAE,MAAK,kBAAkB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAK,0BAA0B,CAAA;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAGpE,MAAM,UAAU,mBAAmB,CACjC,QAAiB,EACjB,WAA+B,EAC/B,MAAiB;IAEjB,MAAM,MAAM,GAAG,WAAW,CAAC,MAA0B,CAAA;IAErD,IAAG,CAAC,MAAM,EAAE,CAAC;QACX,OAAO,GAAG,CAAA,CAAC,0BAA0B;IACvC,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,EAAE,MAAM,CAAA;IAClC,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;IACxC,MAAM,MAAM,GAAG,QAAsB,CAAA;IAErC,IAAG,UAAU,EAAE,CAAC;QACd,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QAChD,IAAG,CAAC,QAAQ,EAAE,CAAC;YACb,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;YACnC,YAAY,CAAC,WAAW,CAAC,CAAA;YACzB,OAAO,CAAC,CAAA,CAAC,aAAa;QACxB,CAAC;QAED,OAAO,EAAE,CAAA,CAAC,mDAAmD;IAC/D,CAAC;IAED,MAAM,KAAK,GAAI,QAAgB,EAAE,SAAS,CAAA;IAC1C,IAAG,KAAK,EAAE,CAAC;QACT,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAA;QAC7B,MAAM,YAAY,GAAG,OAAO,CAAC,YAA0B,CAAA;QACvD,MAAM,MAAM,GAAG,cAAc,CAC3B,WAAW,EACX,QAA2B,EAC3B,YAAY,EACZ,MAAM,CACP,CAAA;QAED,MAAM,WAAW,GAAG,MAAM,KAAK,IAAI,CAAA;QAEnC,IAAG,WAAW,EAAE,CAAC;YACf,OAAO,CAAC,CAAC,CAAA;QACX,CAAC;QAED,OAAO,EAAE,CAAA,CAAC,+BAA+B;IAC3C,CAAC;IAED,2BAA2B,CAAC,WAAW,CAAC,CAAA;IAExC,OAAO,CAAC,CAAA,CAAC,kBAAkB;AAC7B,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,WAAwB;IAExB,MAAM,MAAM,GAAG,WAAW,CAAC,MAA0B,CAAA;IACrD,MAAM,WAAW,GAAG,MAAM,EAAE,MAAM,CAAA;IAElC,kDAAkD;IAClD,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;IACnC,OAAQ,WAA2B,CAAC,MAAM,CAEzC;IAAC,WAAkC,CAAC,WAAW,GAAG,CAAC,CAAA;AACtD,CAAC"}
1
+ {"version":3,"file":"checkTagValueChange.function.js","sourceRoot":"","sources":["../../ts/tag/checkTagValueChange.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AAErE,OAAO,EAAE,WAAW,EAAE,MAAK,kBAAkB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAK,0BAA0B,CAAA;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAGpE,MAAM,UAAU,mBAAmB,CACjC,QAAiB,EACjB,WAA+B,EAC/B,MAAiB;IAEjB,MAAM,MAAM,GAAG,WAAW,CAAC,MAA0B,CAAA;IACrD,MAAM,WAAW,GAAG,MAAM,EAAE,MAAM,CAAA;IAClC,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;IACxC,MAAM,MAAM,GAAG,QAAsB,CAAA;IAErC,IAAG,UAAU,EAAE,CAAC;QACd,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QAChD,IAAG,CAAC,QAAQ,EAAE,CAAC;YACb,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;YACnC,YAAY,CAAC,WAAW,CAAC,CAAA;YACzB,OAAO,CAAC,CAAA,CAAC,aAAa;QACxB,CAAC;QAED,mDAAmD;QACnD,cAAc,CACZ,WAAW,EACX,QAA2B,EAC3B,WAAW,EACX,MAAM,CACP,CAAA;QAED,OAAO,CAAC,CAAC,CAAA;IACX,CAAC;IAED,MAAM,KAAK,GAAI,QAAgB,EAAE,SAAS,CAAA;IAC1C,IAAG,KAAK,EAAE,CAAC;QACT,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAA;QAC7B,MAAM,YAAY,GAAG,OAAO,CAAC,YAA0B,CAAA;QACvD,MAAM,MAAM,GAAG,cAAc,CAC3B,WAAW,EACX,QAA2B,EAC3B,YAAY,EACZ,MAAM,CACP,CAAA;QAED,MAAM,WAAW,GAAG,MAAM,KAAK,IAAI,CAAA;QAEnC,IAAG,WAAW,EAAE,CAAC;YACf,OAAO,CAAC,CAAC,CAAA;QACX,CAAC;QAED,OAAO,EAAE,CAAA,CAAC,+BAA+B;IAC3C,CAAC;IAED,2BAA2B,CAAC,WAAW,CAAC,CAAA;IAExC,OAAO,CAAC,CAAA,CAAC,kBAAkB;AAC7B,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,WAAwB;IAExB,MAAM,MAAM,GAAG,WAAW,CAAC,MAA0B,CAAA;IACrD,MAAM,WAAW,GAAG,MAAM,EAAE,MAAM,CAAA;IAElC,kDAAkD;IAClD,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;IACnC,OAAQ,WAA2B,CAAC,MAAM,CAEzC;IAAC,WAAkC,CAAC,WAAW,GAAG,CAAC,CAAA;AACtD,CAAC"}
@@ -13,10 +13,10 @@ export type HtmlSupport = {
13
13
  appElement?: Element;
14
14
  propsConfig?: PropsConfig;
15
15
  templater: TemplaterResult;
16
- subject: ContextItem;
16
+ context: ContextItem;
17
17
  };
18
18
  /** used only for apps, otherwise use Support */
19
- export declare function getBaseSupport(templater: TemplaterResult, subject: SupportContextItem, castedProps?: Props): BaseSupport;
19
+ export declare function getBaseSupport(templater: TemplaterResult, context: SupportContextItem, castedProps?: Props): BaseSupport;
20
20
  export type Support = AnySupport & {
21
21
  ownerSupport: AnySupport;
22
22
  appSupport: BaseSupport;
@@ -25,4 +25,4 @@ export type Support = AnySupport & {
25
25
  export declare function upgradeBaseToSupport(templater: TemplaterResult, // at runtime rendering of a tag, it needs to be married to a new Support()
26
26
  support: BaseSupport, appSupport: AnySupport, castedProps?: Props): AnySupport;
27
27
  export declare function createHtmlSupport(templater: TemplaterResult, // at runtime rendering of a tag, it needs to be married to a new Support()
28
- ownerSupport: AnySupport, appSupport: AnySupport, subject: ContextItem, castedProps?: Props): AnySupport;
28
+ ownerSupport: AnySupport, appSupport: AnySupport, context: ContextItem, castedProps?: Props): AnySupport;
@@ -1,15 +1,15 @@
1
1
  import { clonePropsBy } from './props/clonePropsBy.function.js';
2
2
  import { Subject } from '../subject/Subject.class.js';
3
3
  /** used only for apps, otherwise use Support */
4
- export function getBaseSupport(templater, subject, castedProps) {
4
+ export function getBaseSupport(templater, context, castedProps) {
5
5
  const baseSupport = {
6
6
  templater,
7
- subject,
7
+ context,
8
8
  castedProps,
9
9
  appSupport: undefined,
10
10
  };
11
11
  // baseSupport.appSupport = baseSupport
12
- const global = subject.global;
12
+ const global = context.global;
13
13
  global.blocked = [];
14
14
  global.destroy$ = new Subject();
15
15
  return baseSupport;
@@ -27,10 +27,10 @@ support, appSupport, castedProps) {
27
27
  return support;
28
28
  }
29
29
  export function createHtmlSupport(templater, // at runtime rendering of a tag, it needs to be married to a new Support()
30
- ownerSupport, appSupport, subject, castedProps) {
30
+ ownerSupport, appSupport, context, castedProps) {
31
31
  const support = {
32
32
  templater,
33
- subject,
33
+ context,
34
34
  castedProps,
35
35
  appSupport: undefined,
36
36
  };
@@ -27,7 +27,7 @@ export function destroyContext(childTags, ownerSupport) {
27
27
  if (isTagComponent(support.templater)) {
28
28
  runBeforeDestroy(support, global);
29
29
  }
30
- const subTags = global.context;
30
+ const subTags = global.contexts;
31
31
  // recurse
32
32
  destroyContext(subTags, support);
33
33
  }
@@ -46,7 +46,7 @@ export function getChildTagsToSoftDestroy(childTags, tags = [], subs = []) {
46
46
  subs.push(...iSubs);
47
47
  }
48
48
  }
49
- const subTags = global.context;
49
+ const subTags = global.contexts;
50
50
  if (subTags) {
51
51
  getChildTagsToSoftDestroy(subTags, tags, subs);
52
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"destroyContext.function.js","sourceRoot":"","sources":["../../ts/tag/destroyContext.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIjD,MAAM,UAAU,cAAc,CAC5B,SAAwB,EACxB,YAAwB;IAExB,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,kBAAkB;QAClB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;QACjC,IAAG,SAAS,EAAE,CAAC;YACb,UAAU;YACV,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;YACvC,SAAQ;QACV,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,KAA6B,CAAA;QACtD,IAAG,UAAU,EAAE,SAAS,KAAK,UAAU,CAAC,SAAS,EAAE,CAAC;YAClD,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;YACtC,SAAQ;QACV,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAA0B,CAAA;QAC/C,IAAG,CAAC,MAAM,EAAE,CAAC;YACX,SAAQ,CAAC,4BAA4B;QACvC,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAA;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAA;QAClC,IAAG,KAAK,EAAE,CAAC;YACT,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;QAChC,CAAC;QAED,IAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACnC,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAwB,CAAA;QAC/C,UAAU;QACV,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,SAAwB,EACxB,OAAqB,EAAE,EACvB,OAA4B,EAAE;IAE9B,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAA0B,CAAA;QAE/C,IAAG,CAAC,MAAM,EAAE,CAAC;YACX,SAAQ;QACV,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAA;QAC7B,IAAG,OAAO,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAClB,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAA;YAClC,IAAG,KAAK,EAAE,CAAC;gBACT,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAwB,CAAA;QAC/C,IAAG,OAAO,EAAE,CAAC;YACX,yBAAyB,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IAED,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAS;IACvC,IAAI,CAAC,WAAW,EAAE,CAAA;AACpB,CAAC"}
1
+ {"version":3,"file":"destroyContext.function.js","sourceRoot":"","sources":["../../ts/tag/destroyContext.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIjD,MAAM,UAAU,cAAc,CAC5B,SAAwB,EACxB,YAAwB;IAExB,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,kBAAkB;QAClB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;QACjC,IAAG,SAAS,EAAE,CAAC;YACb,UAAU;YACV,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;YACvC,SAAQ;QACV,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,KAA6B,CAAA;QACtD,IAAG,UAAU,EAAE,SAAS,KAAK,UAAU,CAAC,SAAS,EAAE,CAAC;YAClD,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;YACtC,SAAQ;QACV,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAA0B,CAAA;QAC/C,IAAG,CAAC,MAAM,EAAE,CAAC;YACX,SAAQ,CAAC,4BAA4B;QACvC,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAA;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAA;QAClC,IAAG,KAAK,EAAE,CAAC;YACT,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;QAChC,CAAC;QAED,IAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACnC,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC/B,UAAU;QACV,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,SAAwB,EACxB,OAAqB,EAAE,EACvB,OAA4B,EAAE;IAE9B,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAA0B,CAAA;QAE/C,IAAG,CAAC,MAAM,EAAE,CAAC;YACX,SAAQ;QACV,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAA;QAC7B,IAAG,OAAO,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAClB,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAA;YAClC,IAAG,KAAK,EAAE,CAAC;gBACT,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC/B,IAAG,OAAO,EAAE,CAAC;YACX,yBAAyB,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IAED,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAS;IACvC,IAAI,CAAC,WAAW,EAAE,CAAA;AACpB,CAAC"}
@@ -18,7 +18,7 @@ export interface TagTemplate {
18
18
  values: unknown[];
19
19
  domMetaMap?: DomMetaMap;
20
20
  }
21
- type ArrayItemStringTag<T> = StringTag & {
21
+ export type ArrayItemStringTag<T> = StringTag & {
22
22
  arrayValue: T;
23
23
  };
24
24
  export type KeyFunction =
@@ -29,6 +29,3 @@ export type KeyFunction =
29
29
  <T>(arrayValue: T) => ArrayItemStringTag<T>;
30
30
  /** When compiled to then run in browser */
31
31
  export declare function getDomTag(dom: LikeObjectChildren, values: unknown[]): DomTag;
32
- /** When runtime is in browser */
33
- export declare function getStringTag(strings: string[], values: unknown[]): StringTag;
34
- export {};
@@ -3,7 +3,8 @@ import { ValueTypes } from './ValueTypes.enum.js';
3
3
  import { getSupportInCycle } from './getSupportInCycle.function.js';
4
4
  import { processDomTagInit } from './update/processDomTagInit.function.js';
5
5
  import { checkTagValueChange, destroySupportByContextItem } from '../index.js';
6
- import { forceUpdateExistingValue } from './update/forceUpdateExistingValue.function.js';
6
+ import { processOuterDomTagInit } from './processOuterDomTagInit.function.js';
7
+ import { tagValueUpdateHandler } from './update/tagValueUpdateHandler.function.js';
7
8
  /** When compiled to then run in browser */
8
9
  export function getDomTag(dom, values) {
9
10
  const tag = {
@@ -12,86 +13,38 @@ export function getDomTag(dom, values) {
12
13
  dom,
13
14
  tagJsType: ValueTypes.dom,
14
15
  processInit: processDomTagInit,
16
+ processUpdate: tagValueUpdateHandler,
15
17
  checkValueChange: checkTagValueChange,
16
18
  delete: destroySupportByContextItem,
17
19
  key: function keyFun(arrayValue) {
18
20
  tag.arrayValue = arrayValue;
19
21
  return tag;
20
22
  },
21
- /** Used within the outerHTML tag to signify that it expects innerHTML */
22
- setInnerHTML: function setInnerHTML(innerHTML) {
23
- innerHTML.owner = tag;
24
- return tag;
25
- },
26
- html: {
27
- dom: function dom(dom, // ObjectChildren
28
- values) {
29
- tag.children = { dom: dom, values };
30
- return tag;
31
- }
32
- }
33
- };
34
- Object.defineProperty(tag, 'innerHTML', {
35
- set(innerHTML) {
23
+ setHTML: function setHTML(innerHTML) {
36
24
  innerHTML.outerHTML = tag;
37
25
  tag._innerHTML = innerHTML;
38
26
  innerHTML.oldProcessInit = innerHTML.processInit;
39
27
  // TODO: Not best idea to override the init
40
28
  innerHTML.processInit = processOuterDomTagInit;
41
- },
42
- });
43
- return tag;
44
- }
45
- /** Used to override the html`` processing that will first render outerHTML and then its innerHTML */
46
- function processOuterDomTagInit(value, contextItem, // could be tag via result.tag
47
- ownerSupport, // owningSupport
48
- counts, appendTo, insertBefore) {
49
- const outerHTML = value.outerHTML;
50
- processDomTagInit(outerHTML, contextItem, // could be tag via result.tag
51
- ownerSupport, // owningSupport
52
- counts, appendTo, insertBefore);
53
- contextItem.handler = (value, newSupport, contextItem, _values, counts) => {
54
- forceUpdateExistingValue(contextItem, value?.outerHTML || value, newSupport, counts);
55
- };
56
- // TODO: Not best idea to swap out the original values changeChecker
57
- value.checkValueChange = function outerCheckValueChange(newValue, contextItem, counts) {
58
- return checkOuterTagValueChange(newValue, contextItem, counts);
59
- };
60
- }
61
- function checkOuterTagValueChange(newValue, contextItem, counts) {
62
- return checkTagValueChange(newValue, // (newValue as Tag)?.outerHTML || newValue,
63
- contextItem, // subContext.contextItem as any,
64
- counts);
65
- }
66
- /** When runtime is in browser */
67
- export function getStringTag(strings, values) {
68
- const tag = {
69
- values,
70
- ownerSupport: getSupportInCycle(),
71
- tagJsType: ValueTypes.tag,
72
- processInit: processDomTagInit,
73
- checkValueChange: checkTagValueChange,
74
- delete: destroySupportByContextItem,
75
- strings,
76
- /** Used within an array.map() that returns html aka array.map(x => html``.key(x)) */
77
- key(arrayValue) {
78
- tag.arrayValue = arrayValue;
79
29
  return tag;
80
30
  },
81
- /** Used within the outerHTML tag to signify that it expects innerHTML */
82
- setInnerHTML: function setInnerHTML(innerHTML) {
83
- innerHTML.owner = tag;
31
+ /** Used within the outerHTML tag to signify that it can use innerHTML */
32
+ acceptInnerHTML: function acceptInnerHTML(useTagVar) {
33
+ // TODO: datatype
34
+ useTagVar.owner = tag;
84
35
  return tag;
85
36
  },
86
- html: function html(strings, values) {
87
- tag.children = { strings, values };
88
- return tag;
37
+ html: {
38
+ dom: function dom(dom, // ObjectChildren
39
+ values) {
40
+ tag.children = { dom: dom, values };
41
+ return tag;
42
+ }
89
43
  }
90
44
  };
91
45
  Object.defineProperty(tag, 'innerHTML', {
92
46
  set(innerHTML) {
93
- innerHTML.outerHTML = tag;
94
- innerHTML.processInit = processOuterDomTagInit;
47
+ return tag.setHTML(innerHTML);
95
48
  },
96
49
  });
97
50
  return tag;