taggedjs 2.5.4 → 2.5.5

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 (237) hide show
  1. package/bundle.js +3353 -2960
  2. package/bundle.js.map +1 -1
  3. package/js/Props.d.ts +1 -1
  4. package/js/Tag.class.d.ts +1 -1
  5. package/js/TemplaterResult.class.d.ts +14 -8
  6. package/js/TemplaterResult.class.js +13 -3
  7. package/js/TemplaterResult.class.js.map +1 -1
  8. package/js/afterInterpolateElement.function.d.ts +2 -2
  9. package/js/alterProps.function.d.ts +2 -3
  10. package/js/alterProps.function.js +6 -7
  11. package/js/alterProps.function.js.map +1 -1
  12. package/js/checkDestroyPrevious.function.d.ts +3 -3
  13. package/js/checkDestroyPrevious.function.js +2 -2
  14. package/js/checkDestroyPrevious.function.js.map +1 -1
  15. package/js/cloneValueArray.function.d.ts +1 -1
  16. package/js/destroy.support.d.ts +1 -1
  17. package/js/destroyTag.function.d.ts +1 -1
  18. package/js/hasTagSupportChanged.function.d.ts +1 -1
  19. package/js/index.d.ts +15 -12
  20. package/js/index.js +15 -12
  21. package/js/index.js.map +1 -1
  22. package/js/insertAfter.function.d.ts +1 -1
  23. package/js/interpolations/Clones.type.d.ts +3 -0
  24. package/js/interpolations/Clones.type.js +2 -0
  25. package/js/interpolations/Clones.type.js.map +1 -0
  26. package/js/interpolations/ElementTargetEvent.interface.d.ts +6 -0
  27. package/js/interpolations/ElementTargetEvent.interface.js +2 -0
  28. package/js/interpolations/ElementTargetEvent.interface.js.map +1 -0
  29. package/js/interpolations/afterInterpolateElement.function.d.ts +4 -0
  30. package/js/interpolations/afterInterpolateElement.function.js +12 -0
  31. package/js/interpolations/afterInterpolateElement.function.js.map +1 -0
  32. package/js/interpolations/bindSubjectCallback.function.d.ts +1 -1
  33. package/js/interpolations/bindSubjectCallback.function.js +11 -9
  34. package/js/interpolations/bindSubjectCallback.function.js.map +1 -1
  35. package/js/interpolations/interpolateAttributes.d.ts +2 -2
  36. package/js/interpolations/interpolateContentTemplates.d.ts +2 -2
  37. package/js/interpolations/interpolateElement.d.ts +2 -2
  38. package/js/interpolations/interpolateElement.js +1 -1
  39. package/js/interpolations/interpolateElement.js.map +1 -1
  40. package/js/interpolations/interpolateTemplate.d.ts +4 -4
  41. package/js/interpolations/interpolateTemplate.js +19 -4
  42. package/js/interpolations/interpolateTemplate.js.map +1 -1
  43. package/js/interpolations/processAttribute.function.d.ts +2 -2
  44. package/js/interpolations/scanTextAreaValue.function.d.ts +2 -2
  45. package/js/isInstance.d.ts +2 -2
  46. package/js/isInstance.js +2 -1
  47. package/js/isInstance.js.map +1 -1
  48. package/js/isLikeTags.function.d.ts +2 -1
  49. package/js/isLikeTags.function.js +3 -0
  50. package/js/isLikeTags.function.js.map +1 -1
  51. package/js/processNewValue.function.d.ts +1 -1
  52. package/js/processNewValue.function.js +1 -1
  53. package/js/processNewValue.function.js.map +1 -1
  54. package/js/processSubjectComponent.function.d.ts +1 -1
  55. package/js/processSubjectComponent.function.js +1 -1
  56. package/js/processSubjectComponent.function.js.map +1 -1
  57. package/js/processSubjectValue.function.d.ts +2 -2
  58. package/js/processSubjectValue.function.js +2 -2
  59. package/js/processSubjectValue.function.js.map +1 -1
  60. package/js/processTag.function.d.ts +1 -1
  61. package/js/processTag.function.js +1 -1
  62. package/js/processTag.function.js.map +1 -1
  63. package/js/processTagArray.d.ts +1 -1
  64. package/js/processTagArray.js +2 -2
  65. package/js/processTagArray.js.map +1 -1
  66. package/js/processTagResult.function.d.ts +2 -2
  67. package/js/render.d.ts +1 -1
  68. package/js/renderExistingTag.function.d.ts +1 -1
  69. package/js/renderExistingTag.function.js +3 -4
  70. package/js/renderExistingTag.function.js.map +1 -1
  71. package/js/renderSubjectComponent.function.d.ts +1 -1
  72. package/js/renderSubjectComponent.function.js +1 -1
  73. package/js/renderSubjectComponent.function.js.map +1 -1
  74. package/js/renderTagOnly.function.d.ts +4 -0
  75. package/js/renderTagOnly.function.js +39 -0
  76. package/js/renderTagOnly.function.js.map +1 -0
  77. package/js/renderTagSupport.function.d.ts +1 -1
  78. package/js/renderTagSupport.function.js +1 -1
  79. package/js/renderTagSupport.function.js.map +1 -1
  80. package/js/renderWithSupport.function.d.ts +2 -3
  81. package/js/renderWithSupport.function.js +4 -36
  82. package/js/renderWithSupport.function.js.map +1 -1
  83. package/js/state/callbackMaker.function.d.ts +3 -2
  84. package/js/state/callbackMaker.function.js +37 -18
  85. package/js/state/callbackMaker.function.js.map +1 -1
  86. package/js/state/children.d.ts +1 -0
  87. package/js/state/children.js +14 -0
  88. package/js/state/children.js.map +1 -0
  89. package/js/state/index.d.ts +1 -1
  90. package/js/state/index.js +1 -1
  91. package/js/state/index.js.map +1 -1
  92. package/js/state/provider.utils.d.ts +1 -1
  93. package/js/state/provider.utils.js +7 -7
  94. package/js/state/provider.utils.js.map +1 -1
  95. package/js/state/providers.d.ts +4 -2
  96. package/js/state/providers.js +54 -47
  97. package/js/state/providers.js.map +1 -1
  98. package/js/state/setUse.function.d.ts +9 -8
  99. package/js/state/setUse.function.js.map +1 -1
  100. package/js/state/state.function.js +17 -0
  101. package/js/state/state.function.js.map +1 -1
  102. package/js/state/state.utils.d.ts +1 -1
  103. package/js/state/state.utils.js +38 -24
  104. package/js/state/state.utils.js.map +1 -1
  105. package/js/state/syncStates.function.d.ts +2 -0
  106. package/js/state/syncStates.function.js +11 -0
  107. package/js/state/syncStates.function.js.map +1 -0
  108. package/js/state/watch.function.d.ts +20 -3
  109. package/js/state/watch.function.js +106 -10
  110. package/js/state/watch.function.js.map +1 -1
  111. package/js/subject/Subject.class.d.ts +8 -1
  112. package/js/subject/Subject.class.js +29 -53
  113. package/js/subject/Subject.class.js.map +1 -1
  114. package/js/subject/Subject.utils.d.ts +6 -3
  115. package/js/subject/Subject.utils.js +51 -3
  116. package/js/subject/Subject.utils.js.map +1 -1
  117. package/js/subject/ValueSubject.d.ts +2 -2
  118. package/js/subject/combineLatest.function.js +10 -2
  119. package/js/subject/combineLatest.function.js.map +1 -1
  120. package/js/subject/subject.cancel.d.ts +2 -0
  121. package/js/subject/subject.cancel.js +3 -0
  122. package/js/subject/subject.cancel.js.map +1 -0
  123. package/js/subject/will.functions.d.ts +1 -1
  124. package/js/subject.types.d.ts +2 -2
  125. package/js/tag/Tag.class.d.ts +43 -0
  126. package/js/tag/Tag.class.js +27 -0
  127. package/js/tag/Tag.class.js.map +1 -0
  128. package/js/tag/TagSupport.class.d.ts +58 -0
  129. package/js/tag/TagSupport.class.js +321 -0
  130. package/js/tag/TagSupport.class.js.map +1 -0
  131. package/js/tag/checkDestroyPrevious.function.d.ts +8 -0
  132. package/js/tag/checkDestroyPrevious.function.js +83 -0
  133. package/js/tag/checkDestroyPrevious.function.js.map +1 -0
  134. package/js/tag/cloneValueArray.function.d.ts +2 -0
  135. package/js/tag/cloneValueArray.function.js +19 -0
  136. package/js/tag/cloneValueArray.function.js.map +1 -0
  137. package/js/tag/destroy.support.d.ts +6 -0
  138. package/js/tag/destroy.support.js +10 -0
  139. package/js/tag/destroy.support.js.map +1 -0
  140. package/js/tag/destroyTag.function.d.ts +3 -0
  141. package/js/tag/destroyTag.function.js +12 -0
  142. package/js/tag/destroyTag.function.js.map +1 -0
  143. package/js/tag/elementDestroyCheck.function.d.ts +3 -0
  144. package/js/tag/elementDestroyCheck.function.js +17 -0
  145. package/js/tag/elementDestroyCheck.function.js.map +1 -0
  146. package/js/tag/getSupportInCycle.function.d.ts +1 -0
  147. package/js/tag/getSupportInCycle.function.js +5 -0
  148. package/js/tag/getSupportInCycle.function.js.map +1 -0
  149. package/js/tag/hasPropChanges.function.d.ts +9 -0
  150. package/js/tag/hasPropChanges.function.js +80 -0
  151. package/js/tag/hasPropChanges.function.js.map +1 -0
  152. package/js/tag/hasTagSupportChanged.function.d.ts +4 -0
  153. package/js/tag/hasTagSupportChanged.function.js +23 -0
  154. package/js/tag/hasTagSupportChanged.function.js.map +1 -0
  155. package/js/tag/html.d.ts +4 -0
  156. package/js/tag/html.js +5 -0
  157. package/js/tag/html.js.map +1 -0
  158. package/js/tag/isLikeTags.function.d.ts +5 -0
  159. package/js/tag/isLikeTags.function.js +42 -0
  160. package/js/tag/isLikeTags.function.js.map +1 -0
  161. package/js/tag/render/renderExistingTag.function.d.ts +7 -0
  162. package/js/tag/render/renderExistingTag.function.js +45 -0
  163. package/js/tag/render/renderExistingTag.function.js.map +1 -0
  164. package/js/tag/render/renderSubjectComponent.function.d.ts +3 -0
  165. package/js/tag/render/renderSubjectComponent.function.js +14 -0
  166. package/js/tag/render/renderSubjectComponent.function.js.map +1 -0
  167. package/js/tag/render/renderTagOnly.function.d.ts +3 -0
  168. package/js/tag/render/renderTagOnly.function.js +41 -0
  169. package/js/tag/render/renderTagOnly.function.js.map +1 -0
  170. package/js/tag/render/renderTagSupport.function.d.ts +4 -0
  171. package/js/tag/render/renderTagSupport.function.js +37 -0
  172. package/js/tag/render/renderTagSupport.function.js.map +1 -0
  173. package/js/tag/render/renderWithSupport.function.d.ts +5 -0
  174. package/js/tag/render/renderWithSupport.function.js +31 -0
  175. package/js/tag/render/renderWithSupport.function.js.map +1 -0
  176. package/js/tag/setTagPlaceholder.function.d.ts +4 -0
  177. package/js/tag/setTagPlaceholder.function.js +12 -0
  178. package/js/tag/setTagPlaceholder.function.js.map +1 -0
  179. package/js/tag/tag.d.ts +26 -0
  180. package/js/tag/tag.js +121 -0
  181. package/js/tag/tag.js.map +1 -0
  182. package/js/tag/tagElement.d.ts +9 -0
  183. package/js/tag/tagElement.js +58 -0
  184. package/js/tag/tagElement.js.map +1 -0
  185. package/js/tag/tagRunner.d.ts +5 -0
  186. package/js/tag/tagRunner.js +28 -0
  187. package/js/tag/tagRunner.js.map +1 -0
  188. package/js/tag/update/processNewValue.function.d.ts +3 -0
  189. package/js/tag/update/processNewValue.function.js +42 -0
  190. package/js/tag/update/processNewValue.function.js.map +1 -0
  191. package/js/tag/update/processRegularValue.function.d.ts +5 -0
  192. package/js/tag/update/processRegularValue.function.js +15 -0
  193. package/js/tag/update/processRegularValue.function.js.map +1 -0
  194. package/js/tag/update/processSubjectComponent.function.d.ts +9 -0
  195. package/js/tag/update/processSubjectComponent.function.js +35 -0
  196. package/js/tag/update/processSubjectComponent.function.js.map +1 -0
  197. package/js/tag/update/processSubjectValue.function.d.ts +27 -0
  198. package/js/tag/update/processSubjectValue.function.js +55 -0
  199. package/js/tag/update/processSubjectValue.function.js.map +1 -0
  200. package/js/tag/update/processTag.function.d.ts +11 -0
  201. package/js/tag/update/processTag.function.js +46 -0
  202. package/js/tag/update/processTag.function.js.map +1 -0
  203. package/js/tag/update/processTagArray.d.ts +22 -0
  204. package/js/tag/update/processTagArray.js +120 -0
  205. package/js/tag/update/processTagArray.js.map +1 -0
  206. package/js/tag/update/processTagResult.function.d.ts +11 -0
  207. package/js/tag/update/processTagResult.function.js +30 -0
  208. package/js/tag/update/processTagResult.function.js.map +1 -0
  209. package/js/tag/update/updateContextItem.function.d.ts +3 -0
  210. package/js/tag/update/updateContextItem.function.js +44 -0
  211. package/js/tag/update/updateContextItem.function.js.map +1 -0
  212. package/js/tag/update/updateExistingTagComponent.function.d.ts +5 -0
  213. package/js/tag/update/updateExistingTagComponent.function.js +116 -0
  214. package/js/tag/update/updateExistingTagComponent.function.js.map +1 -0
  215. package/js/tag/update/updateExistingValue.function.d.ts +4 -0
  216. package/js/tag/update/updateExistingValue.function.js +135 -0
  217. package/js/tag/update/updateExistingValue.function.js.map +1 -0
  218. package/js/tag/updates/processNewValue.function.d.ts +3 -0
  219. package/js/tag/updates/processNewValue.function.js +43 -0
  220. package/js/tag/updates/processNewValue.function.js.map +1 -0
  221. package/js/tag.js +1 -1
  222. package/js/tag.js.map +1 -1
  223. package/js/tagElement.d.ts +1 -1
  224. package/js/tagElement.js +1 -1
  225. package/js/tagElement.js.map +1 -1
  226. package/js/tagRunner.d.ts +1 -1
  227. package/js/updateBeforeTemplate.function.d.ts +1 -1
  228. package/js/updateContextItem.function.d.ts +1 -1
  229. package/js/updateContextItem.function.js +1 -1
  230. package/js/updateContextItem.function.js.map +1 -1
  231. package/js/updateExistingTagComponent.function.d.ts +2 -2
  232. package/js/updateExistingTagComponent.function.js +3 -3
  233. package/js/updateExistingTagComponent.function.js.map +1 -1
  234. package/js/updateExistingValue.function.d.ts +3 -3
  235. package/js/updateExistingValue.function.js +6 -6
  236. package/js/updateExistingValue.function.js.map +1 -1
  237. package/package.json +1 -1
@@ -0,0 +1,28 @@
1
+ // TODO: This should be more like `new TaggedJs().use({})`
2
+ import { setUse } from '../state';
3
+ import { Subject } from '../subject';
4
+ import { getSupportInCycle } from './getSupportInCycle.function';
5
+ // Emits event at the end of a tag being rendered. Use tagClosed$.toPromise() to render a tag after a current tag is done rendering
6
+ setUse.memory.tagClosed$ = new Subject(undefined, subscription => {
7
+ if (!getSupportInCycle()) {
8
+ subscription.next(); // we are not currently processing so process now
9
+ }
10
+ });
11
+ // Life cycle 1
12
+ export function runBeforeRender(tagSupport, ownerSupport) {
13
+ setUse.tagUse.forEach(tagUse => tagUse.beforeRender(tagSupport, ownerSupport));
14
+ }
15
+ // Life cycle 2
16
+ export function runAfterRender(tagSupport, ownerTagSupport) {
17
+ setUse.tagUse.forEach(tagUse => tagUse.afterRender(tagSupport, ownerTagSupport));
18
+ setUse.memory.tagClosed$.next(ownerTagSupport);
19
+ }
20
+ // Life cycle 3
21
+ export function runBeforeRedraw(tagSupport, ownerTagSupport) {
22
+ setUse.tagUse.forEach(tagUse => tagUse.beforeRedraw(tagSupport, ownerTagSupport));
23
+ }
24
+ // Life cycle 4 - end of life
25
+ export function runBeforeDestroy(tagSupport, ownerTagSupport) {
26
+ setUse.tagUse.forEach(tagUse => tagUse.beforeDestroy(tagSupport, ownerTagSupport));
27
+ }
28
+ //# sourceMappingURL=tagRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tagRunner.js","sourceRoot":"","sources":["../../ts/tag/tagRunner.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAG1D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAEhE,mIAAmI;AACnI,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,OAAO,CAAa,SAAS,EAAE,YAAY,CAAC,EAAE;IAC3E,IAAI,CAAC,iBAAiB,EAAE,EAAG,CAAC;QAC1B,YAAY,CAAC,IAAI,EAAE,CAAA,CAAC,iDAAiD;IACvE,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,eAAe;AACf,MAAM,UAAU,eAAe,CAC7B,UAA0B,EAC1B,YAAyB;IAEzB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAA;AAChF,CAAC;AAED,eAAe;AACf,MAAM,UAAU,cAAc,CAC5B,UAA0B,EAC1B,eAA4B;IAE5B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAA;IAChF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;AAChD,CAAC;AAED,eAAe;AACf,MAAM,UAAU,eAAe,CAC7B,UAA0B,EAC1B,eAA2B;IAE3B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAA;AACnF,CAAC;AAED,6BAA6B;AAC7B,MAAM,UAAU,gBAAgB,CAC9B,UAA0B,EAC1B,eAA2B;IAE3B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAA;AACpF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { TagSupport } from '../TagSupport.class';
2
+ import { InterpolateSubject, TemplateValue } from './processSubjectValue.function';
3
+ export declare function processNewValue(hasValue: boolean, value: TemplateValue, ownerSupport: TagSupport): InterpolateSubject;
@@ -0,0 +1,42 @@
1
+ import { ValueSubject } from '../../subject/ValueSubject';
2
+ import { isSubjectInstance, isTagClass, isTagComponent, isTagTemplater } from '../../isInstance';
3
+ import { TemplaterResult } from '../../TemplaterResult.class';
4
+ import { TagSupport } from '../TagSupport.class';
5
+ export function processNewValue(hasValue, value, ownerSupport) {
6
+ if (isTagComponent(value)) {
7
+ const tagSubject = new ValueSubject(value);
8
+ return tagSubject;
9
+ }
10
+ if (value instanceof Function) {
11
+ return new ValueSubject(value);
12
+ }
13
+ if (!hasValue) {
14
+ return new ValueSubject(undefined);
15
+ }
16
+ if (isTagTemplater(value)) {
17
+ const templater = value;
18
+ const tag = templater.tag;
19
+ return processNewTag(tag, ownerSupport);
20
+ }
21
+ if (isTagClass(value)) {
22
+ return processNewTag(value, ownerSupport);
23
+ }
24
+ // is already a value subject?
25
+ if (isSubjectInstance(value)) {
26
+ return value;
27
+ }
28
+ return new ValueSubject(value);
29
+ }
30
+ function processNewTag(value, ownerSupport) {
31
+ const tag = value;
32
+ let templater = tag.templater;
33
+ if (!templater) {
34
+ templater = new TemplaterResult([]);
35
+ templater.tag = tag;
36
+ tag.templater = templater;
37
+ }
38
+ const subject = new ValueSubject(templater);
39
+ const tagSupport = subject.tagSupport = new TagSupport(templater, ownerSupport, subject);
40
+ return subject;
41
+ }
42
+ //# sourceMappingURL=processNewValue.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processNewValue.function.js","sourceRoot":"","sources":["../../../ts/tag/update/processNewValue.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAChG,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAIhD,MAAM,UAAU,eAAe,CAC7B,QAAiB,EACjB,KAAoB,EACpB,YAAwB;IAExB,IAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,KAAK,CAAe,CAAA;QACxD,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,IAAG,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,YAAY,CAAW,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED,IAAG,CAAC,QAAQ,EAAE,CAAC;QACb,OAAO,IAAI,YAAY,CAAY,SAAS,CAAC,CAAA;IAC/C,CAAC;IAED,IAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,KAAwB,CAAA;QAC1C,MAAM,GAAG,GAAG,SAAS,CAAC,GAAU,CAAA;QAChC,OAAO,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;IACzC,CAAC;IAED,IAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,aAAa,CAAC,KAAY,EAAE,YAAY,CAAC,CAAA;IAClD,CAAC;IAED,8BAA8B;IAC9B,IAAG,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,KAA0B,CAAA;IACnC,CAAC;IAED,OAAO,IAAI,YAAY,CAAC,KAAK,CAA8B,CAAA;AAC7D,CAAC;AAED,SAAS,aAAa,CACpB,KAAU,EACV,YAAwB;IAExB,MAAM,GAAG,GAAG,KAAY,CAAA;IAExB,IAAI,SAAS,GAAG,GAAG,CAAC,SAAS,CAAA;IAC7B,IAAG,CAAC,SAAS,EAAE,CAAC;QACd,SAAS,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC,CAAA;QACnC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAA;QACnB,GAAG,CAAC,SAAS,GAAG,SAAS,CAAA;IAC3B,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,SAAS,CAAe,CAAA;IAEzD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,UAAU,CACpD,SAAS,EACT,YAAY,EACZ,OAAO,CACR,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { InsertBefore } from '../../interpolations/Clones.type';
2
+ import { DisplaySubject } from '../../subject.types';
3
+ export type RegularValue = string | number | undefined | boolean;
4
+ export declare function processRegularValue(value: RegularValue, subject: DisplaySubject, // could be tag via subject.tag
5
+ insertBefore: InsertBefore): void;
@@ -0,0 +1,15 @@
1
+ import { updateBeforeTemplate } from '../../updateBeforeTemplate.function';
2
+ export function processRegularValue(value, subject, // could be tag via subject.tag
3
+ insertBefore) {
4
+ subject.insertBefore = insertBefore;
5
+ const before = subject.clone || insertBefore; // Either the template is on the doc OR its the first element we last put on doc
6
+ // matches but also was defined at some point
7
+ if (subject.lastValue === value && 'lastValue' in subject) {
8
+ return; // no need to update display, its the same
9
+ }
10
+ subject.lastValue = value;
11
+ // Processing of regular values
12
+ const clone = updateBeforeTemplate(value, before);
13
+ subject.clone = clone; // remember single element put down, for future updates
14
+ }
15
+ //# sourceMappingURL=processRegularValue.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processRegularValue.function.js","sourceRoot":"","sources":["../../../ts/tag/update/processRegularValue.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAI1E,MAAM,UAAU,mBAAmB,CACjC,KAAmB,EACnB,OAAuB,EAAE,+BAA+B;AACxD,YAA0B;IAE1B,OAAO,CAAC,YAAY,GAAG,YAAY,CAAA;IACnC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,CAAA,CAAC,gFAAgF;IAE7H,6CAA6C;IAC7C,IAAG,OAAO,CAAC,SAAS,KAAK,KAAK,IAAI,WAAW,IAAI,OAAO,EAAE,CAAC;QACzD,OAAM,CAAC,0CAA0C;IACnD,CAAC;IAED,OAAO,CAAC,SAAS,GAAG,KAAK,CAAA;IAEzB,+BAA+B;IAC/B,MAAM,KAAK,GAAG,oBAAoB,CAChC,KAAK,EACL,MAAM,CACP,CAAA;IAED,OAAO,CAAC,KAAK,GAAG,KAAK,CAAA,CAAC,uDAAuD;AAC/E,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { TemplaterResult } from '../../TemplaterResult.class';
2
+ import { Counts } from '../../interpolations/interpolateTemplate';
3
+ import { TagSubject } from '../../subject.types';
4
+ import { TagSupport } from '../TagSupport.class';
5
+ import { InsertBefore } from '../../interpolations/Clones.type';
6
+ export declare function processSubjectComponent(templater: TemplaterResult, subject: TagSubject, insertBefore: InsertBefore, ownerSupport: TagSupport, options: {
7
+ counts: Counts;
8
+ forceElement?: boolean;
9
+ }): TagSupport;
@@ -0,0 +1,35 @@
1
+ import { setUse } from '../../state';
2
+ import { processTagResult } from './processTagResult.function';
3
+ import { TagSupport } from '../TagSupport.class';
4
+ import { renderSubjectComponent } from '../render/renderSubjectComponent.function';
5
+ export function processSubjectComponent(templater, subject, insertBefore, ownerSupport, options) {
6
+ // Check if function component is wrapped in a tag() call
7
+ // TODO: This below check not needed in production mode
8
+ if (templater.tagged !== true) {
9
+ const wrapper = templater.wrapper;
10
+ const original = wrapper.parentWrap.original;
11
+ let name = original.name || original.constructor?.name;
12
+ if (name === 'Function') {
13
+ name = undefined;
14
+ }
15
+ const label = name || original.toString().substring(0, 120);
16
+ const error = new Error(`Not a tag component. Wrap your function with tag(). Example tag(props => html\`\`) on component:\n\n${label}\n\n`);
17
+ throw error;
18
+ }
19
+ const tagSupport = new TagSupport(templater, ownerSupport, subject);
20
+ let reSupport = subject.tagSupport;
21
+ const global = tagSupport.global = reSupport?.global || tagSupport.global;
22
+ global.insertBefore = insertBefore;
23
+ const providers = setUse.memory.providerConfig;
24
+ providers.ownerSupport = ownerSupport;
25
+ const isRender = !reSupport || options.forceElement;
26
+ if (isRender) {
27
+ const support = reSupport || tagSupport;
28
+ reSupport = renderSubjectComponent(subject, support, ownerSupport);
29
+ }
30
+ processTagResult(reSupport, subject, // The element set here will be removed from document. Also result.tag will be added in here
31
+ insertBefore, // <template end interpolate /> (will be removed)
32
+ options);
33
+ return reSupport;
34
+ }
35
+ //# sourceMappingURL=processSubjectComponent.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processSubjectComponent.function.js","sourceRoot":"","sources":["../../../ts/tag/update/processSubjectComponent.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAA;AAElF,MAAM,UAAU,uBAAuB,CACrC,SAA0B,EAC1B,OAAmB,EACnB,YAA0B,EAC1B,YAAwB,EACxB,OAAiD;IAEjD,yDAAyD;IACzD,uDAAuD;IACvD,IAAG,SAAS,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,SAAS,CAAC,OAAkB,CAAA;QAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAA;QAC5C,IAAI,IAAI,GAAuB,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAA;QAE1E,IAAG,IAAI,KAAK,UAAU,EAAE,CAAC;YACvB,IAAI,GAAG,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAC,GAAG,CAAC,CAAA;QAC1D,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,uGAAuG,KAAK,MAAM,CAAC,CAAA;QAC3I,MAAM,KAAK,CAAA;IACb,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,UAAU,CAC/B,SAAS,EACT,YAAY,EACZ,OAAO,CACR,CAAA;IAED,IAAI,SAAS,GAAG,OAAO,CAAC,UAAU,CAAA;IAClC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,SAAS,EAAE,MAAM,IAAI,UAAU,CAAC,MAAM,CAAA;IACzE,MAAM,CAAC,YAAY,GAAG,YAAY,CAAA;IAElC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAA;IAC9C,SAAS,CAAC,YAAY,GAAG,YAAY,CAAA;IAErC,MAAM,QAAQ,GAAG,CAAC,SAAS,IAAI,OAAO,CAAC,YAAY,CAAA;IACnD,IAAG,QAAQ,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,SAAS,IAAI,UAAU,CAAA;QACvC,SAAS,GAAG,sBAAsB,CAChC,OAAO,EACP,OAAO,EACP,YAAY,CACb,CAAA;IACH,CAAC;IAED,gBAAgB,CACd,SAAS,EACT,OAAO,EAAE,4FAA4F;IACrG,YAAY,EAAE,iDAAiD;IAC/D,OAAO,CACR,CAAA;IAED,OAAO,SAAS,CAAA;AAClB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { TagArraySubject } from './processTagArray';
2
+ import { TemplaterResult } from '../../TemplaterResult.class';
3
+ import { Clones, InsertBefore } from '../../interpolations/Clones.type';
4
+ import { Counts, Template } from '../../interpolations/interpolateTemplate';
5
+ import { DisplaySubject, TagSubject } from '../../subject.types';
6
+ import { ValueSubject } from '../../subject/ValueSubject';
7
+ import { RegularValue } from './processRegularValue.function';
8
+ import { Callback } from '../../interpolations/bindSubjectCallback.function';
9
+ import { TagSupport } from '../TagSupport.class';
10
+ import { Tag } from '../Tag.class';
11
+ import { Subject } from '../../subject';
12
+ type processOptions = {
13
+ forceElement?: boolean;
14
+ counts: Counts;
15
+ };
16
+ export type ClonesAndPromise = {
17
+ clones: Clones;
18
+ };
19
+ export type InterpolateSubject = (ValueSubject<undefined> | TagArraySubject | TagSubject | DisplaySubject | ValueSubject<Callback>) & {
20
+ clone?: Element | Text | Template;
21
+ };
22
+ export type TemplateValue = Tag | TemplaterResult | (Tag | TemplaterResult)[] | RegularValue | Subject<any> | Callback;
23
+ export declare function processSubjectValue(value: TemplateValue, subject: InterpolateSubject, // could be tag via result.tag
24
+ insertBefore: InsertBefore, // <template end interpolate /> (will be removed)
25
+ ownerSupport: TagSupport, // owner
26
+ options: processOptions): Clones | undefined;
27
+ export {};
@@ -0,0 +1,55 @@
1
+ import { processSubjectComponent } from './processSubjectComponent.function';
2
+ import { isTagArray, isTagClass, isTagComponent, isTagTemplater } from '../../isInstance';
3
+ import { processTagArray } from './processTagArray';
4
+ import { processRegularValue } from './processRegularValue.function';
5
+ import { processTag, tagFakeTemplater } from './processTag.function';
6
+ var ValueTypes;
7
+ (function (ValueTypes) {
8
+ ValueTypes["tag"] = "tag";
9
+ ValueTypes["templater"] = "templater";
10
+ ValueTypes["tagArray"] = "tag-array";
11
+ ValueTypes["tagComponent"] = "tag-component";
12
+ ValueTypes["value"] = "value";
13
+ })(ValueTypes || (ValueTypes = {}));
14
+ function getValueType(value) {
15
+ if (isTagComponent(value)) {
16
+ return ValueTypes.tagComponent;
17
+ }
18
+ if (isTagTemplater(value)) {
19
+ return ValueTypes.templater;
20
+ }
21
+ if (isTagClass(value)) {
22
+ return ValueTypes.tag;
23
+ }
24
+ if (isTagArray(value)) {
25
+ return ValueTypes.tagArray;
26
+ }
27
+ return ValueTypes.value;
28
+ }
29
+ // export type ExistingValue = TemplaterResult | Tag[] | TagSupport | Function | Subject<unknown> | RegularValue | Tag
30
+ export function processSubjectValue(value, subject, // could be tag via result.tag
31
+ insertBefore, // <template end interpolate /> (will be removed)
32
+ ownerSupport, // owner
33
+ options) {
34
+ const valueType = getValueType(value);
35
+ switch (valueType) {
36
+ case ValueTypes.templater:
37
+ processTag(value, insertBefore, ownerSupport, subject);
38
+ return;
39
+ case ValueTypes.tag:
40
+ const tag = value;
41
+ let templater = tag.templater;
42
+ if (!templater) {
43
+ templater = tagFakeTemplater(tag);
44
+ }
45
+ processTag(templater, insertBefore, ownerSupport, subject);
46
+ return;
47
+ case ValueTypes.tagArray:
48
+ return processTagArray(subject, value, insertBefore, ownerSupport, options);
49
+ case ValueTypes.tagComponent:
50
+ processSubjectComponent(value, subject, insertBefore, ownerSupport, options);
51
+ return;
52
+ }
53
+ processRegularValue(value, subject, insertBefore);
54
+ }
55
+ //# sourceMappingURL=processSubjectValue.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processSubjectValue.function.js","sourceRoot":"","sources":["../../../ts/tag/update/processSubjectValue.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAC5E,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACzF,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAMpE,OAAO,EAAgB,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAElF,OAAO,EAAoB,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAKtF,IAAK,UAMJ;AAND,WAAK,UAAU;IACb,yBAAW,CAAA;IACX,qCAAuB,CAAA;IACvB,oCAAsB,CAAA;IACtB,4CAA8B,CAAA;IAC9B,6BAAe,CAAA;AACjB,CAAC,EANI,UAAU,KAAV,UAAU,QAMd;AAED,SAAS,YAAY,CAAC,KAAU;IAC9B,IAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,UAAU,CAAC,YAAY,CAAA;IAChC,CAAC;IAED,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,UAAU,CAAC,SAAS,CAAA;IAC7B,CAAC;IAED,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC,GAAG,CAAA;IACvB,CAAC;IAED,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC,QAAQ,CAAA;IAC5B,CAAC;IAED,OAAO,UAAU,CAAC,KAAK,CAAA;AACzB,CAAC;AAkBD,sHAAsH;AAEtH,MAAM,UAAU,mBAAmB,CACjC,KAAoB,EACpB,OAA2B,EAAE,8BAA8B;AAC3D,YAA0B,EAAE,iDAAiD;AAC7E,YAAwB,EAAE,QAAQ;AAClC,OAAuB;IAEvB,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAErC,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,UAAU,CAAC,SAAS;YACvB,UAAU,CACR,KAAwB,EACxB,YAAY,EACZ,YAAY,EACZ,OAAqB,CACtB,CAAA;YACD,OAAM;QAER,KAAK,UAAU,CAAC,GAAG;YACjB,MAAM,GAAG,GAAG,KAAY,CAAA;YACxB,IAAI,SAAS,GAAG,GAAG,CAAC,SAAS,CAAA;YAE7B,IAAG,CAAC,SAAS,EAAE,CAAC;gBACd,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;YACnC,CAAC;YAED,UAAU,CACR,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,OAAqB,CACtB,CAAA;YACD,OAAM;QAER,KAAK,UAAU,CAAC,QAAQ;YACtB,OAAO,eAAe,CACpB,OAA0B,EAC1B,KAAkC,EAClC,YAAY,EACZ,YAAY,EACZ,OAAO,CACR,CAAA;QAEH,KAAK,UAAU,CAAC,YAAY;YAC1B,uBAAuB,CACrB,KAAwB,EACxB,OAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,OAAO,CACR,CAAA;YACD,OAAM;IACV,CAAC;IAED,mBAAmB,CACjB,KAAqB,EACrB,OAAyB,EACzB,YAAY,CACb,CAAA;AACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { InsertBefore } from '../../interpolations/Clones.type';
2
+ import { Tag } from '../Tag.class';
3
+ import { TagSubject } from '../../subject.types';
4
+ import { TagSupport } from '../TagSupport.class';
5
+ import { TemplaterResult } from '../../TemplaterResult.class';
6
+ /** Could be a regular tag or a component. Both are Tag.class */
7
+ export declare function processTag(templater: TemplaterResult, insertBefore: InsertBefore, ownerSupport: TagSupport, // owner
8
+ subject: TagSubject): void;
9
+ export declare function setupNewTemplater(tagSupport: TagSupport, ownerSupport: TagSupport, subject: TagSubject): void;
10
+ export declare function tagFakeTemplater(tag: Tag): TemplaterResult;
11
+ export declare function getFakeTemplater(): TemplaterResult;
@@ -0,0 +1,46 @@
1
+ import { TagSupport } from '../TagSupport.class';
2
+ import { ValueSubject } from '../../subject';
3
+ /** Could be a regular tag or a component. Both are Tag.class */
4
+ export function processTag(templater, insertBefore, ownerSupport, // owner
5
+ subject) {
6
+ let tagSupport = subject.tagSupport;
7
+ // first time seeing this tag?
8
+ if (!tagSupport) {
9
+ tagSupport = new TagSupport(templater, ownerSupport, subject);
10
+ setupNewTemplater(tagSupport, ownerSupport, subject);
11
+ ownerSupport.childTags.push(tagSupport);
12
+ }
13
+ subject.tagSupport = tagSupport;
14
+ tagSupport.ownerTagSupport = ownerSupport;
15
+ tagSupport.buildBeforeElement(insertBefore, {
16
+ counts: { added: 0, removed: 0 },
17
+ forceElement: true,
18
+ });
19
+ }
20
+ export function setupNewTemplater(tagSupport, ownerSupport, subject) {
21
+ tagSupport.global.oldest = tagSupport;
22
+ tagSupport.global.newest = tagSupport;
23
+ // asking me to render will cause my parent to render
24
+ tagSupport.ownerTagSupport = ownerSupport;
25
+ subject.tagSupport = tagSupport;
26
+ }
27
+ export function tagFakeTemplater(tag) {
28
+ const templater = getFakeTemplater();
29
+ templater.tag = tag;
30
+ tag.templater = templater;
31
+ return templater;
32
+ }
33
+ export function getFakeTemplater() {
34
+ const fake = {
35
+ children: new ValueSubject([]), // no children
36
+ // props: {} as Props,
37
+ props: [],
38
+ isTag: true,
39
+ isTemplater: false,
40
+ tagged: false,
41
+ madeChildIntoSubject: false,
42
+ html: () => fake
43
+ };
44
+ return fake;
45
+ }
46
+ //# sourceMappingURL=processTag.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processTag.function.js","sourceRoot":"","sources":["../../../ts/tag/update/processTag.function.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAG5C,gEAAgE;AAChE,MAAM,UAAU,UAAU,CACxB,SAA0B,EAC1B,YAA0B,EAC1B,YAAwB,EAAE,QAAQ;AAClC,OAAmB;IAEnB,IAAI,UAAU,GAAe,OAAO,CAAC,UAAU,CAAA;IAE/C,8BAA8B;IAC9B,IAAG,CAAC,UAAU,EAAE,CAAC;QACf,UAAU,GAAG,IAAI,UAAU,CACzB,SAAS,EACT,YAAY,EACZ,OAAO,CACR,CAAA;QAED,iBAAiB,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;QAEpD,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACzC,CAAC;IAED,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;IAC/B,UAAU,CAAC,eAAe,GAAG,YAAY,CAAA;IACzC,UAAU,CAAC,kBAAkB,CAC3B,YAAY,EAAE;QACZ,MAAM,EAAE,EAAC,KAAK,EAAC,CAAC,EAAE,OAAO,EAAC,CAAC,EAAC;QAC5B,YAAY,EAAE,IAAI;KACnB,CACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,UAAsB,EACtB,YAAwB,EACxB,OAAmB;IAEnB,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,CAAA;IACrC,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,CAAA;IAErC,qDAAqD;IACrD,UAAU,CAAC,eAAe,GAAG,YAAY,CAAA;IACzC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,GAAQ;IAER,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAA;IACpC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAA;IACnB,GAAG,CAAC,SAAS,GAAG,SAAS,CAAA;IAEzB,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,IAAI,GAAG;QACX,QAAQ,EAAE,IAAI,YAAY,CAAQ,EAAE,CAAC,EAAE,cAAc;QAErD,sBAAsB;QACtB,KAAK,EAAE,EAAW;QAElB,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,KAAK;QAClB,MAAM,EAAE,KAAK;QAEb,oBAAoB,EAAE,KAAK;QAC3B,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI;KACE,CAAA;IAEpB,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { Clones, InsertBefore } from '../../interpolations/Clones.type';
2
+ import { Tag } from '../Tag.class';
3
+ import { ValueSubject } from '../../subject/ValueSubject';
4
+ import { Counts } from '../../interpolations/interpolateTemplate';
5
+ import { TagSupport } from '../TagSupport.class';
6
+ import { TemplaterResult } from '../../TemplaterResult.class';
7
+ export type LastArrayItem = {
8
+ tagSupport: TagSupport;
9
+ index: number;
10
+ deleted?: boolean;
11
+ };
12
+ export type TagArraySubject = ValueSubject<Tag[]> & {
13
+ insertBefore: InsertBefore;
14
+ placeholder?: Text;
15
+ lastArray?: LastArrayItem[];
16
+ };
17
+ export declare function processTagArray(subject: TagArraySubject, value: (TemplaterResult | Tag)[], // arry of Tag classes
18
+ insertBefore: InsertBefore, // <template end interpolate />
19
+ ownerSupport: TagSupport, options: {
20
+ counts: Counts;
21
+ forceElement?: boolean;
22
+ }): Clones;
@@ -0,0 +1,120 @@
1
+ import { ValueSubject } from '../../subject/ValueSubject';
2
+ import { ArrayNoKeyError } from '../../errors';
3
+ import { destroyArrayTag } from '../checkDestroyPrevious.function';
4
+ import { setupNewTemplater, tagFakeTemplater } from './processTag.function';
5
+ import { TagSupport } from '../TagSupport.class';
6
+ import { isTagClass } from '../../isInstance';
7
+ export function processTagArray(subject, value, // arry of Tag classes
8
+ insertBefore, // <template end interpolate />
9
+ ownerSupport, options) {
10
+ const clones = ownerSupport.clones; // []
11
+ let lastArray = subject.lastArray = subject.lastArray || [];
12
+ if (!subject.placeholder) {
13
+ setPlaceholderElm(insertBefore, subject);
14
+ }
15
+ const runtimeInsertBefore = subject.placeholder; // || insertBefore
16
+ let removed = 0;
17
+ /** 🗑️ remove previous items first */
18
+ lastArray = subject.lastArray = subject.lastArray.filter((item, index) => {
19
+ const newLength = value.length - 1;
20
+ const at = index - removed;
21
+ const lessLength = newLength < at;
22
+ const subValue = value[index - removed];
23
+ const subTag = subValue;
24
+ // const tag = subTag?.templater.tag as Tag
25
+ const lastTag = item.tagSupport.templater.tag;
26
+ const newArrayValue = subTag?.memory.arrayValue;
27
+ const lastArrayValue = lastTag.memory.arrayValue;
28
+ const destroyItem = lessLength || !areLikeValues(newArrayValue, lastArrayValue);
29
+ if (destroyItem) {
30
+ const last = lastArray[index];
31
+ const tagSupport = last.tagSupport;
32
+ destroyArrayTag(tagSupport, options.counts);
33
+ last.deleted = true;
34
+ ++removed;
35
+ ++options.counts.removed;
36
+ return false;
37
+ }
38
+ return true;
39
+ });
40
+ value.forEach((item, index) => {
41
+ const previous = lastArray[index];
42
+ const previousSupport = previous?.tagSupport;
43
+ const subTag = item;
44
+ if (isTagClass(subTag) && !subTag.templater) {
45
+ tagFakeTemplater(subTag);
46
+ }
47
+ const tagSupport = new TagSupport(subTag.templater, ownerSupport, new ValueSubject(undefined));
48
+ // tagSupport.templater = subTag.templater
49
+ if (previousSupport) {
50
+ setupNewTemplater(tagSupport, ownerSupport, previousSupport.subject);
51
+ const global = previousSupport.global;
52
+ tagSupport.global = global;
53
+ global.newest = tagSupport;
54
+ }
55
+ // check for html``.key()
56
+ const keySet = 'arrayValue' in subTag.memory;
57
+ if (!keySet) {
58
+ const details = {
59
+ template: tagSupport.getTemplate().string,
60
+ array: value,
61
+ ownerTagContent: ownerSupport.lastTemplateString,
62
+ };
63
+ const message = 'Use html`...`.key(item) instead of html`...` to template an Array';
64
+ console.error(message, details);
65
+ const err = new ArrayNoKeyError(message, details);
66
+ throw err;
67
+ }
68
+ const couldBeSame = lastArray.length > index;
69
+ if (couldBeSame) {
70
+ const prevSupport = previous.tagSupport;
71
+ const prevGlobal = prevSupport.global;
72
+ // subTag.tagSupport = subTag.tagSupport || prevSupport
73
+ const oldest = prevGlobal.oldest;
74
+ oldest.updateBy(tagSupport);
75
+ return [];
76
+ }
77
+ processAddTagArrayItem(runtimeInsertBefore, tagSupport, index, options, lastArray);
78
+ ownerSupport.childTags.push(tagSupport);
79
+ });
80
+ return clones;
81
+ }
82
+ function setPlaceholderElm(insertBefore, subject) {
83
+ if (insertBefore.nodeName !== 'TEMPLATE') {
84
+ subject.placeholder = insertBefore;
85
+ return;
86
+ }
87
+ const placeholder = subject.placeholder = document.createTextNode('');
88
+ const parentNode = insertBefore.parentNode;
89
+ parentNode.insertBefore(placeholder, insertBefore);
90
+ parentNode.removeChild(insertBefore);
91
+ }
92
+ function processAddTagArrayItem(before, tagSupport, index, options, lastArray) {
93
+ const lastValue = {
94
+ tagSupport, index
95
+ };
96
+ // Added to previous array
97
+ lastArray.push(lastValue);
98
+ const counts = {
99
+ added: options.counts.added + index,
100
+ removed: options.counts.removed,
101
+ };
102
+ const newTempElm = document.createElement('template');
103
+ const parent = before.parentNode;
104
+ parent.insertBefore(newTempElm, before);
105
+ tagSupport.buildBeforeElement(newTempElm, // before,
106
+ { counts, forceElement: options.forceElement });
107
+ }
108
+ /** compare two values. If both values are arrays then the items will be compared */
109
+ function areLikeValues(valueA, valueB) {
110
+ if (valueA === valueB) {
111
+ return true;
112
+ }
113
+ const bothArrays = valueA instanceof Array && valueB instanceof Array;
114
+ const matchLengths = bothArrays && valueA.length == valueB.length;
115
+ if (matchLengths) {
116
+ return valueA.every((item, index) => item == valueB[index]);
117
+ }
118
+ return false;
119
+ }
120
+ //# sourceMappingURL=processTagArray.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processTagArray.js","sourceRoot":"","sources":["../../../ts/tag/update/processTagArray.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { Counts } from '../../interpolations/interpolateTemplate';
2
+ import { TagArraySubject } from './processTagArray';
3
+ import { TagSubject } from '../../subject.types';
4
+ import { InsertBefore } from '../../interpolations/Clones.type';
5
+ import { TagSupport } from '../TagSupport.class';
6
+ export declare function processTagResult(tagSupport: TagSupport, subject: TagArraySubject | TagSubject | Function, // used for recording past and current value
7
+ insertBefore: InsertBefore, // <template end interpolate />
8
+ { counts, forceElement, }: {
9
+ counts: Counts;
10
+ forceElement?: boolean;
11
+ }): void;
@@ -0,0 +1,30 @@
1
+ export function processTagResult(tagSupport, subject, // used for recording past and current value
2
+ insertBefore, // <template end interpolate />
3
+ { counts, forceElement, }) {
4
+ // *if appears we already have seen
5
+ const subjectTag = subject;
6
+ const lastSupport = subjectTag.tagSupport;
7
+ const prevSupport = lastSupport?.global.oldest || undefined; // || tag.tagSupport.oldest // subjectTag.tag
8
+ const justUpdate = prevSupport; // && !forceElement
9
+ if (prevSupport && justUpdate) {
10
+ return processTagResultUpdate(tagSupport, subjectTag, prevSupport);
11
+ }
12
+ tagSupport.buildBeforeElement(insertBefore, {
13
+ counts,
14
+ forceElement,
15
+ });
16
+ }
17
+ function processTagResultUpdate(tagSupport, subject, // used for recording past and current value
18
+ prevSupport) {
19
+ // components
20
+ if (subject instanceof Function) {
21
+ const newSupport = subject(prevSupport);
22
+ prevSupport.updateBy(newSupport);
23
+ subject.tagSupport = newSupport;
24
+ return;
25
+ }
26
+ prevSupport.updateBy(tagSupport);
27
+ subject.tagSupport = tagSupport;
28
+ return;
29
+ }
30
+ //# sourceMappingURL=processTagResult.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processTagResult.function.js","sourceRoot":"","sources":["../../../ts/tag/update/processTagResult.function.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,gBAAgB,CAC9B,UAAsB,EACtB,OAAgD,EAAE,4CAA4C;AAC9F,YAA0B,EAAE,+BAA+B;AAC3D,EACE,MAAM,EAAE,YAAY,GAIrB;IAED,mCAAmC;IACnC,MAAM,UAAU,GAAG,OAAqB,CAAA;IACxC,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAA;IACzC,MAAM,WAAW,GAAG,WAAW,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS,CAAA,CAAC,6CAA6C;IACzG,MAAM,UAAU,GAAG,WAAW,CAAA,CAAC,mBAAmB;IAElD,IAAG,WAAW,IAAI,UAAU,EAAE,CAAC;QAC7B,OAAO,sBAAsB,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;IACpE,CAAC;IAED,UAAU,CAAC,kBAAkB,CAAC,YAAY,EAAE;QAC1C,MAAM;QACN,YAAY;KACb,CAAC,CAAA;AACJ,CAAC;AAGD,SAAS,sBAAsB,CAC7B,UAAsB,EACtB,OAAqD,EAAE,4CAA4C;AACnG,WAAuB;IAEvB,aAAa;IACb,IAAG,OAAO,YAAY,QAAQ,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;QACvC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAE/B;QAAC,OAAiC,CAAC,UAAU,GAAG,UAAU,CAAA;QAC3D,OAAM;IACR,CAAC;IAED,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;IAChC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAA;IAE/B,OAAM;AACR,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { TemplateValue } from './processSubjectValue.function';
2
+ import { Context } from '../Tag.class';
3
+ export declare function updateContextItem(context: Context, variableName: string, value: TemplateValue): void;
@@ -0,0 +1,44 @@
1
+ import { isSubjectInstance, isTagComponent } from '../../isInstance';
2
+ import { TagSupport } from '../TagSupport.class';
3
+ export function updateContextItem(context, variableName, value) {
4
+ const subject = context[variableName];
5
+ const tagSubject = subject;
6
+ const tagSupport = tagSubject.tagSupport;
7
+ if (tagSupport) {
8
+ if (value) {
9
+ if (isTagComponent(value)) {
10
+ const templater = value;
11
+ let newSupport = new TagSupport(templater, tagSupport.ownerTagSupport, subject);
12
+ if (isTagComponent(tagSupport)) {
13
+ shareTemplaterGlobal(tagSupport, newSupport);
14
+ }
15
+ }
16
+ }
17
+ }
18
+ if (isSubjectInstance(value)) {
19
+ return; // emits on its own
20
+ }
21
+ // listeners will evaluate updated values to possibly update display(s)
22
+ subject.set(value);
23
+ return;
24
+ }
25
+ function shareTemplaterGlobal(oldTagSupport, tagSupport) {
26
+ const oldTemp = oldTagSupport.templater;
27
+ const oldWrap = oldTemp.wrapper; // tag versus component
28
+ const oldValueFn = oldWrap.parentWrap.original;
29
+ const templater = tagSupport.templater;
30
+ const newWrapper = templater.wrapper;
31
+ const newValueFn = newWrapper?.parentWrap.original;
32
+ const fnMatched = oldValueFn === newValueFn;
33
+ if (fnMatched) {
34
+ tagSupport.global = oldTagSupport.global;
35
+ const newest = oldTagSupport.global.newest;
36
+ if (newest) {
37
+ const prevState = newest.memory.state;
38
+ tagSupport.memory.state.length = 0;
39
+ tagSupport.memory.state.push(...prevState);
40
+ // tagSupport.memory.state = [...prevState]
41
+ }
42
+ }
43
+ }
44
+ //# sourceMappingURL=updateContextItem.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateContextItem.function.js","sourceRoot":"","sources":["../../../ts/tag/update/updateContextItem.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAIpE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAGhD,MAAM,UAAU,iBAAiB,CAC/B,OAAgB,EAChB,YAAoB,EACpB,KAAoB;IAEpB,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IACrC,MAAM,UAAU,GAAG,OAAqB,CAAA;IACxC,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAA;IAExC,IAAG,UAAU,EAAE,CAAC;QACd,IAAG,KAAK,EAAE,CAAC;YACT,IAAI,cAAc,CAAC,KAAK,CAAC,EAAG,CAAC;gBAC3B,MAAM,SAAS,GAAG,KAAwB,CAAA;gBAC1C,IAAI,UAAU,GAAG,IAAI,UAAU,CAC7B,SAAS,EACT,UAAU,CAAC,eAAe,EAC1B,OAAqB,CACtB,CAAA;gBAED,IAAG,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9B,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAG,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAM,CAAC,mBAAmB;IAC5B,CAAC;IAED,uEAAuE;IACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAElB,OAAM;AACR,CAAC;AAED,SAAS,oBAAoB,CAC3B,aAAyB,EACzB,UAAsB;IAEtB,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAA;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAkB,CAAA,CAAC,uBAAuB;IAClE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAA;IAE9C,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;IACtC,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAA;IACpC,MAAM,UAAU,GAAG,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAA;IAClD,MAAM,SAAS,GAAG,UAAU,KAAK,UAAU,CAAA;IAE3C,IAAG,SAAS,EAAE,CAAC;QACb,UAAU,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAA;QACxC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,MAAoB,CAAA;QACxD,IAAG,MAAM,EAAE,CAAC;YACV,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAA;YACrC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;YAClC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAA;YAC1C,2CAA2C;QAC7C,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { TagSubject } from '../../subject.types';
2
+ import { TagSupport } from '../TagSupport.class';
3
+ import { InsertBefore } from '../../interpolations/Clones.type';
4
+ export declare function updateExistingTagComponent(ownerSupport: TagSupport, tagSupport: TagSupport, // lastest
5
+ subject: TagSubject, insertBefore: InsertBefore): TagSupport;