taggedjs 2.1.2 → 2.3.25

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 (228) hide show
  1. package/index.js +1 -1
  2. package/js/Clones.type.d.ts +1 -0
  3. package/js/Clones.type.js +2 -0
  4. package/js/Clones.type.js.map +1 -0
  5. package/js/Props.d.ts +1 -0
  6. package/js/Props.js +2 -0
  7. package/js/Props.js.map +1 -0
  8. package/js/Subject.d.ts +7 -2
  9. package/js/Subject.js +15 -10
  10. package/js/Subject.js.map +1 -1
  11. package/js/Tag.class.d.ts +37 -13
  12. package/js/Tag.class.js +133 -99
  13. package/js/Tag.class.js.map +1 -1
  14. package/js/Tag.utils.d.ts +8 -20
  15. package/js/Tag.utils.js +17 -88
  16. package/js/Tag.utils.js.map +1 -1
  17. package/js/ValueSubject.d.ts +1 -1
  18. package/js/ValueSubject.js.map +1 -1
  19. package/js/bindSubjectCallback.function.d.ts +5 -0
  20. package/js/bindSubjectCallback.function.js +19 -0
  21. package/js/bindSubjectCallback.function.js.map +1 -0
  22. package/js/elementDestroyCheck.function.d.ts +3 -0
  23. package/js/elementDestroyCheck.function.js +17 -0
  24. package/js/elementDestroyCheck.function.js.map +1 -0
  25. package/js/elementInitCheck.js.map +1 -1
  26. package/js/gateway/gateway.web.component.d.ts +11 -0
  27. package/js/gateway/gateway.web.component.js +20 -0
  28. package/js/gateway/gateway.web.component.js.map +1 -0
  29. package/js/gateway/index.d.ts +3 -0
  30. package/js/gateway/index.js +3 -0
  31. package/js/gateway/index.js.map +1 -0
  32. package/js/gateway/loadTagGateway.function.d.ts +2 -0
  33. package/js/gateway/loadTagGateway.function.js +18 -0
  34. package/js/gateway/loadTagGateway.function.js.map +1 -0
  35. package/js/gateway/tagGateway.function.d.ts +31 -0
  36. package/js/gateway/tagGateway.function.js +187 -0
  37. package/js/gateway/tagGateway.function.js.map +1 -0
  38. package/js/getCallback.js +39 -42
  39. package/js/getCallback.js.map +1 -1
  40. package/js/getTagSupport.d.ts +18 -17
  41. package/js/getTagSupport.js +104 -15
  42. package/js/getTagSupport.js.map +1 -1
  43. package/js/html.d.ts +1 -1
  44. package/js/html.js.map +1 -1
  45. package/js/index.d.ts +16 -7
  46. package/js/index.js +20 -8
  47. package/js/index.js.map +1 -1
  48. package/js/inputAttribute.js +3 -3
  49. package/js/inputAttribute.js.map +1 -1
  50. package/js/interpolateAttributes.d.ts +2 -1
  51. package/js/interpolateAttributes.js +126 -60
  52. package/js/interpolateAttributes.js.map +1 -1
  53. package/js/interpolateContentTemplates.d.ts +4 -1
  54. package/js/interpolateContentTemplates.js +32 -25
  55. package/js/interpolateContentTemplates.js.map +1 -1
  56. package/js/interpolateElement.d.ts +8 -13
  57. package/js/interpolateElement.js +26 -22
  58. package/js/interpolateElement.js.map +1 -1
  59. package/js/interpolateTemplate.d.ts +15 -19
  60. package/js/interpolateTemplate.js +33 -231
  61. package/js/interpolateTemplate.js.map +1 -1
  62. package/js/interpolations.d.ts +3 -2
  63. package/js/interpolations.js +2 -1
  64. package/js/interpolations.js.map +1 -1
  65. package/js/isInstance.d.ts +6 -0
  66. package/js/isInstance.js +10 -0
  67. package/js/isInstance.js.map +1 -0
  68. package/js/js/Clones.type.d.ts +1 -0
  69. package/js/js/Clones.type.js +2 -0
  70. package/js/js/Clones.type.js.map +1 -0
  71. package/js/js/Props.d.ts +1 -0
  72. package/js/js/Props.js +2 -0
  73. package/js/js/Props.js.map +1 -0
  74. package/js/js/Subject.d.ts +7 -2
  75. package/js/js/Subject.js +15 -10
  76. package/js/js/Subject.js.map +1 -1
  77. package/js/js/Tag.class.d.ts +27 -5
  78. package/js/js/Tag.class.js +109 -81
  79. package/js/js/Tag.class.js.map +1 -1
  80. package/js/js/Tag.utils.d.ts +8 -20
  81. package/js/js/Tag.utils.js +17 -88
  82. package/js/js/Tag.utils.js.map +1 -1
  83. package/js/js/ValueSubject.d.ts +1 -1
  84. package/js/js/ValueSubject.js.map +1 -1
  85. package/js/js/bindSubjectCallback.function.d.ts +5 -0
  86. package/js/js/bindSubjectCallback.function.js +19 -0
  87. package/js/js/bindSubjectCallback.function.js.map +1 -0
  88. package/js/js/elementDestroyCheck.function.d.ts +3 -0
  89. package/js/js/elementDestroyCheck.function.js +17 -0
  90. package/js/js/elementDestroyCheck.function.js.map +1 -0
  91. package/js/js/elementInitCheck.js.map +1 -1
  92. package/js/js/getCallback.js +39 -42
  93. package/js/js/getCallback.js.map +1 -1
  94. package/js/js/getTagSupport.d.ts +19 -17
  95. package/js/js/getTagSupport.js +111 -15
  96. package/js/js/getTagSupport.js.map +1 -1
  97. package/js/js/html.d.ts +1 -1
  98. package/js/js/html.js.map +1 -1
  99. package/js/js/index.d.ts +16 -7
  100. package/js/js/index.js +20 -8
  101. package/js/js/index.js.map +1 -1
  102. package/js/js/interpolateAttributes.d.ts +2 -1
  103. package/js/js/interpolateAttributes.js +118 -60
  104. package/js/js/interpolateAttributes.js.map +1 -1
  105. package/js/js/interpolateContentTemplates.d.ts +3 -1
  106. package/js/js/interpolateContentTemplates.js +32 -22
  107. package/js/js/interpolateContentTemplates.js.map +1 -1
  108. package/js/js/interpolateElement.d.ts +7 -12
  109. package/js/js/interpolateElement.js +18 -21
  110. package/js/js/interpolateElement.js.map +1 -1
  111. package/js/js/interpolateTemplate.d.ts +15 -19
  112. package/js/js/interpolateTemplate.js +33 -231
  113. package/js/js/interpolateTemplate.js.map +1 -1
  114. package/js/js/interpolations.d.ts +3 -1
  115. package/js/js/interpolations.js +3 -3
  116. package/js/js/interpolations.js.map +1 -1
  117. package/js/js/isInstance.d.ts +6 -0
  118. package/js/js/isInstance.js +10 -0
  119. package/js/js/isInstance.js.map +1 -0
  120. package/js/js/onDestroy.d.ts +2 -0
  121. package/js/js/onDestroy.js +20 -0
  122. package/js/js/onDestroy.js.map +1 -0
  123. package/js/js/onInit.d.ts +0 -4
  124. package/js/js/onInit.js +12 -10
  125. package/js/js/onInit.js.map +1 -1
  126. package/js/js/processSubjectComponent.function.d.ts +8 -0
  127. package/js/js/processSubjectComponent.function.js +53 -0
  128. package/js/js/processSubjectComponent.function.js.map +1 -0
  129. package/js/js/processSubjectValue.function.d.ts +16 -0
  130. package/js/js/processSubjectValue.function.js +122 -0
  131. package/js/js/processSubjectValue.function.js.map +1 -0
  132. package/js/js/processTagArray.d.ts +5 -1
  133. package/js/js/processTagArray.js +21 -10
  134. package/js/js/processTagArray.js.map +1 -1
  135. package/js/js/processTagResult.function.d.ts +10 -0
  136. package/js/js/processTagResult.function.js +42 -0
  137. package/js/js/processTagResult.function.js.map +1 -0
  138. package/js/js/providers.d.ts +4 -12
  139. package/js/js/providers.js +28 -20
  140. package/js/js/providers.js.map +1 -1
  141. package/js/js/redrawTag.function.d.ts +7 -0
  142. package/js/js/redrawTag.function.js +9 -0
  143. package/js/js/redrawTag.function.js.map +1 -0
  144. package/js/js/render.d.ts +1 -6
  145. package/js/js/render.js +8 -15
  146. package/js/js/render.js.map +1 -1
  147. package/js/js/renderAppToElement.d.ts +8 -2
  148. package/js/js/renderAppToElement.js +40 -21
  149. package/js/js/renderAppToElement.js.map +1 -1
  150. package/js/js/setUse.function.d.ts +23 -0
  151. package/js/js/setUse.function.js +14 -0
  152. package/js/js/setUse.function.js.map +1 -0
  153. package/js/js/state.d.ts +14 -11
  154. package/js/js/state.js +68 -33
  155. package/js/js/state.js.map +1 -1
  156. package/js/js/tag.d.ts +7 -16
  157. package/js/js/tag.js +33 -44
  158. package/js/js/tag.js.map +1 -1
  159. package/js/js/tagElement.d.ts +14 -0
  160. package/js/js/tagElement.js +57 -0
  161. package/js/js/tagElement.js.map +1 -0
  162. package/js/js/tagGateway.function.d.ts +5 -0
  163. package/js/js/tagGateway.function.js +119 -0
  164. package/js/js/tagGateway.function.js.map +1 -0
  165. package/js/js/tagRunner.d.ts +2 -13
  166. package/js/js/tagRunner.js +12 -12
  167. package/js/js/tagRunner.js.map +1 -1
  168. package/js/js/templater.utils.d.ts +28 -0
  169. package/js/js/templater.utils.js +99 -0
  170. package/js/js/templater.utils.js.map +1 -0
  171. package/js/js/updateTag.utils.d.ts +6 -0
  172. package/js/js/updateTag.utils.js +84 -0
  173. package/js/js/updateTag.utils.js.map +1 -0
  174. package/js/onDestroy.d.ts +2 -0
  175. package/js/onDestroy.js +20 -0
  176. package/js/onDestroy.js.map +1 -0
  177. package/js/onInit.d.ts +0 -4
  178. package/js/onInit.js +12 -10
  179. package/js/onInit.js.map +1 -1
  180. package/js/processSubjectComponent.function.d.ts +8 -0
  181. package/js/processSubjectComponent.function.js +53 -0
  182. package/js/processSubjectComponent.function.js.map +1 -0
  183. package/js/processSubjectValue.function.d.ts +16 -0
  184. package/js/processSubjectValue.function.js +122 -0
  185. package/js/processSubjectValue.function.js.map +1 -0
  186. package/js/processTagArray.d.ts +5 -1
  187. package/js/processTagArray.js +21 -10
  188. package/js/processTagArray.js.map +1 -1
  189. package/js/processTagResult.function.d.ts +10 -0
  190. package/js/processTagResult.function.js +39 -0
  191. package/js/processTagResult.function.js.map +1 -0
  192. package/js/providers.d.ts +4 -12
  193. package/js/providers.js +28 -20
  194. package/js/providers.js.map +1 -1
  195. package/js/redrawTag.function.d.ts +7 -0
  196. package/js/redrawTag.function.js +8 -0
  197. package/js/redrawTag.function.js.map +1 -0
  198. package/js/render.d.ts +1 -6
  199. package/js/render.js +5 -19
  200. package/js/render.js.map +1 -1
  201. package/js/renderAppToElement.d.ts +8 -2
  202. package/js/renderAppToElement.js +40 -21
  203. package/js/renderAppToElement.js.map +1 -1
  204. package/js/setUse.function.d.ts +23 -0
  205. package/js/setUse.function.js +14 -0
  206. package/js/setUse.function.js.map +1 -0
  207. package/js/state.d.ts +14 -11
  208. package/js/state.js +68 -33
  209. package/js/state.js.map +1 -1
  210. package/js/tag.d.ts +6 -16
  211. package/js/tag.js +32 -43
  212. package/js/tag.js.map +1 -1
  213. package/js/tagElement.d.ts +14 -0
  214. package/js/tagElement.js +57 -0
  215. package/js/tagElement.js.map +1 -0
  216. package/js/tagGateway.function.d.ts +14 -0
  217. package/js/tagGateway.function.js +138 -0
  218. package/js/tagGateway.function.js.map +1 -0
  219. package/js/tagRunner.d.ts +2 -13
  220. package/js/tagRunner.js +12 -12
  221. package/js/tagRunner.js.map +1 -1
  222. package/js/templater.utils.d.ts +27 -0
  223. package/js/templater.utils.js +98 -0
  224. package/js/templater.utils.js.map +1 -0
  225. package/js/updateTag.utils.d.ts +6 -0
  226. package/js/updateTag.utils.js +102 -0
  227. package/js/updateTag.utils.js.map +1 -0
  228. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { Subject } from './Subject.js';
2
- export declare class ValueSubject extends Subject {
2
+ export declare class ValueSubject<T> extends Subject<T> {
3
3
  value: any;
4
4
  constructor(initialValue: any);
5
5
  subscribe(callback: any): import("./Subject.js").Subscription;
@@ -1 +1 @@
1
- {"version":3,"file":"ValueSubject.js","sourceRoot":"","sources":["../ts/ValueSubject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,OAAO,YAAa,SAAQ,OAAO;IACvC,KAAK,CAAK;IAEV,YAAY,YAAiB;QAC3B,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,KAAK,GAAG,YAAY,CAAA;IAC3B,CAAC;IAED,SAAS,CAAC,QAAa;QACrB,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAE7C,uDAAuD;QACvD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAEpB,OAAO,WAAW,CAAA;IACpB,CAAC;CACF"}
1
+ {"version":3,"file":"ValueSubject.js","sourceRoot":"","sources":["../ts/ValueSubject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,OAAO,YAAgB,SAAQ,OAAU;IAC7C,KAAK,CAAK;IAEV,YAAY,YAAiB;QAC3B,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,KAAK,GAAG,YAAY,CAAA;IAC3B,CAAC;IAED,SAAS,CAAC,QAAa;QACrB,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAE7C,uDAAuD;QACvD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAEpB,OAAO,WAAW,CAAA;IACpB,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ import { Tag } from "./Tag.class.js";
2
+ export declare function bindSubjectCallback(value: (...args: any[]) => any, tag: Tag): {
3
+ (element: Element, args: any[]): Promise<string> | undefined;
4
+ tagFunction: (...args: any[]) => any;
5
+ };
@@ -0,0 +1,19 @@
1
+ export function bindSubjectCallback(value, tag) {
2
+ function subjectFunction(element, args) {
3
+ const renderCount = tag.tagSupport.memory.renderCount;
4
+ const method = value.bind(element);
5
+ const callbackResult = method(...args);
6
+ if (renderCount !== tag.tagSupport.memory.renderCount) {
7
+ return; // already rendered
8
+ }
9
+ tag.tagSupport.render();
10
+ if (callbackResult instanceof Promise) {
11
+ return callbackResult.then(() => tag.tagSupport.render() && 'no-data-ever');
12
+ }
13
+ return Promise.resolve(callbackResult).then(() => 'no-data-ever');
14
+ }
15
+ // link back to original. Mostly used for <div oninit ondestroy> animations
16
+ subjectFunction.tagFunction = value;
17
+ return subjectFunction;
18
+ }
19
+ //# sourceMappingURL=bindSubjectCallback.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bindSubjectCallback.function.js","sourceRoot":"","sources":["../ts/bindSubjectCallback.function.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CACjC,KAA8B,EAC9B,GAAQ;IAER,SAAS,eAAe,CACtB,OAAgB,EAChB,IAAW;QAEX,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAA;QAErD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAA;QAEtC,IAAG,WAAW,KAAK,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACrD,OAAM,CAAC,mBAAmB;QAC5B,CAAC;QAED,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAA;QAEvB,IAAG,cAAc,YAAY,OAAO,EAAE,CAAC;YACrC,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,cAAc,CAAC,CAAA;QAC7E,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAA;IACnE,CAAC;IAED,2EAA2E;IAC3E,eAAe,CAAC,WAAW,GAAG,KAAK,CAAA;IAEnC,OAAO,eAAe,CAAA;AACxB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function elementDestroyCheck(nextSibling: Element & {
2
+ ondestroy?: (event: Event) => any;
3
+ }, stagger: number): any;
@@ -0,0 +1,17 @@
1
+ export function elementDestroyCheck(nextSibling, stagger) {
2
+ const onDestroyDoubleWrap = nextSibling.ondestroy;
3
+ if (!onDestroyDoubleWrap) {
4
+ return;
5
+ }
6
+ const onDestroyWrap = onDestroyDoubleWrap.tagFunction;
7
+ if (!onDestroyWrap) {
8
+ return;
9
+ }
10
+ const onDestroy = onDestroyWrap.tagFunction;
11
+ if (!onDestroy) {
12
+ return;
13
+ }
14
+ const event = { target: nextSibling, stagger };
15
+ return onDestroy(event);
16
+ }
17
+ //# sourceMappingURL=elementDestroyCheck.function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elementDestroyCheck.function.js","sourceRoot":"","sources":["../ts/elementDestroyCheck.function.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CACjC,WAA0D,EAC1D,OAAe;IAEf,MAAM,mBAAmB,GAAG,WAAW,CAAC,SAAS,CAAA;IACjD,IAAG,CAAC,mBAAmB,EAAE,CAAC;QACxB,OAAM;IACR,CAAC;IAED,MAAM,aAAa,GAAI,mBAA2B,CAAC,WAAW,CAAA;IAC9D,IAAG,CAAC,aAAa,EAAE,CAAC;QAClB,OAAM;IACR,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,CAAA;IAC3C,IAAG,CAAC,SAAS,EAAE,CAAC;QACd,OAAM;IACR,CAAC;IAED,MAAM,KAAK,GAAG,EAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAqB,CAAA;IAChE,OAAO,SAAS,CAAC,KAAK,CAAC,CAAA;AACzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"elementInitCheck.js","sourceRoot":"","sources":["../ts/elementInitCheck.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAC9B,WAAgC,EAChC,MAAc;IAEd,MAAM,gBAAgB,GAAI,WAAmB,CAAC,MAAM,CAAA;IACpD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpB,OAAO;IACX,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,CAAC;IAChD,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO;IACX,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO;IACX,CAAC;IAED,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IAC7D,MAAM,CAAC,KAAK,CAAC,CAAC;IACd,EAAE,MAAM,CAAC,KAAK,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"elementInitCheck.js","sourceRoot":"","sources":["../ts/elementInitCheck.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAC9B,WAAgC,EAChC,MAAc;IAEd,MAAM,gBAAgB,GAAI,WAAmB,CAAC,MAAM,CAAA;IACpD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpB,OAAM;IACV,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,CAAA;IAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAM;IACV,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAA;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAM;IACV,CAAC;IAED,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAsB,CAAA;IAChF,MAAM,CAAC,KAAK,CAAC,CAAA;IACb,EAAE,MAAM,CAAC,KAAK,CAAA;AAChB,CAAC"}
@@ -1,53 +1,50 @@
1
+ import { setUse } from "./setUse.function.js";
1
2
  import { getStateValue } from "./state.js";
2
- import { setUse } from "./tagRunner.js";
3
3
  export let getCallback = () => (callback) => () => {
4
4
  throw new Error('The real callback function was called and that should never occur');
5
5
  };
6
6
  setUse({
7
- beforeRender: (tagSupport) => {
8
- tagSupport.callbacks = [];
9
- getCallback = () => {
10
- const callbackMaker = (callback) => {
11
- const trigger = () => {
12
- const state = tagSupport.state;
13
- const oldest = callbackMaker.state; // state.oldest as StateConfigArray
14
- const newest = state.newest;
15
- // ensure that the oldest has the latest values first
16
- updateState(newest, oldest);
17
- // run the callback
18
- const promise = callback();
19
- // send the oldest state changes into the newest
20
- updateState(oldest, newest);
21
- tagSupport.render();
22
- if (promise instanceof Promise) {
23
- promise.finally(() => {
24
- // send the oldest state changes into the newest
25
- updateState(oldest, newest);
26
- tagSupport.render();
27
- });
28
- }
29
- };
30
- const state = tagSupport.state;
31
- trigger.state = state;
32
- return trigger;
33
- };
34
- const callbacks = tagSupport.callbacks;
35
- callbacks.push(callbackMaker);
36
- return callbackMaker;
37
- };
38
- },
39
- afterRender: (tagSupport) => {
40
- const callbacks = tagSupport.callbacks;
41
- callbacks.forEach(callback => {
42
- const state = tagSupport.state;
43
- callback.state = [...state.newest];
44
- });
45
- }
7
+ beforeRender: (tagSupport) => initMemory(tagSupport),
8
+ beforeRedraw: (tagSupport) => initMemory(tagSupport),
9
+ // afterRender: (tagSupport: TagSupport) => {},
46
10
  });
47
11
  function updateState(stateFrom, stateTo) {
48
12
  stateFrom.forEach((state, index) => {
49
- const oldValue = getStateValue(state);
50
- const [checkValue] = stateTo[index](oldValue);
13
+ const fromValue = getStateValue(state);
14
+ const callback = stateTo[index].callback;
15
+ if (callback) {
16
+ callback(fromValue); // set the value
17
+ }
18
+ stateTo[index].lastValue = fromValue; // record the value
51
19
  });
52
20
  }
21
+ function initMemory(tagSupport) {
22
+ getCallback = () => {
23
+ const oldState = setUse.memory.stateConfig.array;
24
+ const callbackMaker = (callback) => {
25
+ const trigger = (...args) => triggerStateUpdate(tagSupport, callback, oldState, ...args);
26
+ return trigger;
27
+ };
28
+ return callbackMaker;
29
+ };
30
+ }
31
+ function triggerStateUpdate(tagSupport, callback, oldState, ...args) {
32
+ const state = tagSupport.memory.state;
33
+ const newest = state.newest;
34
+ // ensure that the oldest has the latest values first
35
+ updateState(newest, oldState);
36
+ // run the callback
37
+ const promise = callback(...args);
38
+ // send the oldest state changes into the newest
39
+ updateState(oldState, newest);
40
+ tagSupport.render();
41
+ // TODO: turn back on below
42
+ if (promise instanceof Promise) {
43
+ promise.finally(() => {
44
+ // send the oldest state changes into the newest
45
+ updateState(oldState, newest);
46
+ tagSupport.render();
47
+ });
48
+ }
49
+ }
53
50
  //# sourceMappingURL=getCallback.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getCallback.js","sourceRoot":"","sources":["../ts/getCallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,aAAa,EAAE,MAAM,YAAY,CAAA;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAIvC,MAAM,CAAC,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,GAAS,EAAE;IAChE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;AACtF,CAAC,CAAA;AAOD,MAAM,CAAC;IACL,YAAY,EAAE,CAAC,UAA8B,EAAE,EAAE;QAC/C,UAAU,CAAC,SAAS,GAAG,EAAE,CAAA;QAEzB,WAAW,GAAG,GAAG,EAAE;YAEjB,MAAM,aAAa,GAAG,CACpB,QAAkB,EAClB,EAAE;gBACF,MAAM,OAAO,GAAG,GAAG,EAAE;oBACnB,MAAM,KAAK,GAAG,UAAU,CAAC,KAAc,CAAA;oBACvC,MAAM,MAAM,GAAI,aAAqB,CAAC,KAAK,CAAA,CAAC,mCAAmC;oBAC/E,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;oBAE3B,qDAAqD;oBACrD,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;oBAE3B,mBAAmB;oBACnB,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAA;oBAE1B,gDAAgD;oBAChD,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;oBAE3B,UAAU,CAAC,MAAM,EAAE,CAAA;oBAEnB,IAAG,OAAO,YAAY,OAAO,EAAE,CAAC;wBAC9B,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;4BACnB,gDAAgD;4BAChD,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;4BAE3B,UAAU,CAAC,MAAM,EAAE,CAAA;wBACrB,CAAC,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC,CAAA;gBAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAc,CAAA;gBACvC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAA;gBAErB,OAAO,OAAO,CAAA;YAChB,CAAC,CAAA;YAED,MAAM,SAAS,GAAG,UAAU,CAAC,SAAkB,CAAA;YAC/C,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YAE7B,OAAO,aAAa,CAAA;QACtB,CAAC,CAAA;IACH,CAAC;IACD,WAAW,EAAE,CAAC,UAA8B,EAAE,EAAE;QAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,SAAkB,CAAA;QAC/C,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAc,CAAA;YACvC,QAAQ,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,MAAa,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAC,CAAA;AAEF,SAAS,WAAW,CAClB,SAA2B,EAC3B,OAAyB;IAEzB,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACjC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;QACrC,MAAM,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAE,QAAQ,CAAE,CAAA;IACjD,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"getCallback.js","sourceRoot":"","sources":["../ts/getCallback.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAA2B,aAAa,EAAE,MAAM,YAAY,CAAA;AAInE,MAAM,CAAC,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,GAAS,EAAE;IAChE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;AACtF,CAAC,CAAA;AAED,MAAM,CAAC;IACL,YAAY,EAAE,CAAC,UAAsB,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IAChE,YAAY,EAAE,CAAC,UAAsB,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IAChE,+CAA+C;CAChD,CAAC,CAAA;AAEF,SAAS,WAAW,CAClB,SAA2B,EAC3B,OAAyB;IAEzB,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACjC,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAA;QAExC,IAAG,QAAQ,EAAE,CAAC;YACZ,QAAQ,CAAE,SAAS,CAAE,CAAA,CAAC,gBAAgB;QACxC,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,SAAS,CAAA,CAAC,mBAAmB;IAC1D,CAAC,CAAC,CAAA;AACJ,CAAC;AAKD,SAAS,UAAU,CAAE,UAAsB;IACzC,WAAW,GAAG,GAAG,EAAE;QACjB,MAAM,QAAQ,GAAqB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAA;QAElE,MAAM,aAAa,GAAkB,CACnC,QAAkB,EAClB,EAAE;YACF,MAAM,OAAO,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;YAC/F,OAAO,OAAO,CAAA;QAChB,CAAC,CAAA;QAED,OAAO,aAAa,CAAA;IACtB,CAAC,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,UAAsB,EACtB,QAAkB,EAClB,QAA0B,EAC1B,GAAG,IAAW;IAEd,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAc,CAAA;IAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAE3B,qDAAqD;IACrD,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAE7B,mBAAmB;IACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAA;IAEjC,gDAAgD;IAChD,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAE7B,UAAU,CAAC,MAAM,EAAE,CAAA;IAEnB,2BAA2B;IAC3B,IAAG,OAAO,YAAY,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;YACnB,gDAAgD;YAChD,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAE7B,UAAU,CAAC,MAAM,EAAE,CAAA;QACrB,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
@@ -1,20 +1,22 @@
1
- import { Tag } from "./Tag.class.js";
2
- import { TemplaterResult } from "./tag.js";
3
- export interface TagSupport {
4
- templater?: TemplaterResult;
5
- /** Indicator of re-rending. Saves from double rending something already rendered */
6
- renderCount: 0;
7
- mutatingRender: () => any;
8
- render: () => any;
9
- /**
10
- *
11
- * @param {*} props value.props
12
- * @param {*} newProps value.newProps
13
- * @param {*} compareToProps compareSupport.templater.props
14
- * @returns {boolean}
15
- */
16
- hasPropChanges: (props: any, newProps: any, compareToProps: any) => boolean;
1
+ import { Props } from "./Props.js";
2
+ import { Tag, TagMemory } from "./Tag.class.js";
3
+ import { TemplaterResult } from "./templater.utils.js";
4
+ export declare class TagSupport {
5
+ templater: TemplaterResult;
6
+ props?: unknown;
7
+ depth: number;
8
+ clonedProps: Props;
9
+ latestProps: Props;
10
+ latestClonedProps: Props;
11
+ memory: TagMemory;
12
+ constructor(templater: TemplaterResult, props?: unknown);
17
13
  oldest?: Tag;
18
14
  newest?: Tag;
15
+ hasPropChanges(props: any, // natural props
16
+ pastCloneProps: any, // previously cloned props
17
+ compareToProps: any): boolean;
18
+ mutatingRender(): Tag;
19
+ render(): Tag;
20
+ renderExistingTag(tag: Tag, newTemplater: TemplaterResult): boolean;
19
21
  }
20
- export declare function getTagSupport(templater?: TemplaterResult): TagSupport;
22
+ export declare function getTagSupport(depth: number, templater: TemplaterResult, props?: Props): TagSupport;
@@ -1,20 +1,116 @@
1
- import { deepEqual } from "./deepFunctions.js";
2
- export function getTagSupport(templater) {
3
- const tagSupport = {
4
- templater,
5
- renderCount: 0,
6
- mutatingRender: () => { throw new Error('Tag function "render()" was called in sync but can only be called async'); }, // loaded later and only callable async
7
- render: () => {
8
- ++tagSupport.renderCount;
9
- return tagSupport.mutatingRender();
10
- }, // ensure this function still works even during deconstructing
11
- hasPropChanges: (props, newProps, compareToProps) => {
12
- const oldProps = tagSupport.templater.cloneProps;
13
- const isCommonEqual = props === undefined && props === compareToProps;
14
- const isEqual = isCommonEqual || deepEqual(newProps, oldProps);
15
- return !isEqual;
1
+ import { deepClone, deepEqual } from "./deepFunctions.js";
2
+ import { getNewProps } from "./templater.utils.js";
3
+ /*
4
+ {
5
+ depth,
6
+ }
7
+ */
8
+ export class TagSupport {
9
+ templater;
10
+ props;
11
+ depth = 0; // TODO: maybe remove
12
+ // props from **constructor** are converted for comparing over renders
13
+ clonedProps;
14
+ latestProps; // new props NOT cloned props
15
+ latestClonedProps;
16
+ memory = {
17
+ context: {}, // populated after reading interpolated.values array converted to an object {variable0, variable:1}
18
+ state: {
19
+ newest: [],
16
20
  },
21
+ providers: [],
22
+ /** Indicator of re-rending. Saves from double rending something already rendered */
23
+ renderCount: 0,
17
24
  };
25
+ constructor(templater, props) {
26
+ this.templater = templater;
27
+ this.props = props;
28
+ this.latestProps = props; // getNewProps(props, templater)
29
+ const latestProps = getNewProps(props, templater);
30
+ this.latestClonedProps = deepClone(latestProps);
31
+ this.clonedProps = this.latestClonedProps;
32
+ }
33
+ // TODO: these below may not be in use
34
+ oldest;
35
+ newest;
36
+ hasPropChanges(props, // natural props
37
+ pastCloneProps, // previously cloned props
38
+ compareToProps) {
39
+ const oldProps = this.props;
40
+ const isCommonEqual = props === undefined && props === compareToProps;
41
+ const isEqual = isCommonEqual || deepEqual(pastCloneProps, oldProps);
42
+ return !isEqual;
43
+ }
44
+ mutatingRender() {
45
+ const message = 'Tag function "render()" was called in sync but can only be called async';
46
+ console.error(message, { tagSupport: this });
47
+ throw new Error(message);
48
+ } // loaded later and only callable async
49
+ render() {
50
+ ++this.memory.renderCount;
51
+ return this.mutatingRender();
52
+ } // ensure this function still works even during deconstructing
53
+ renderExistingTag(tag, newTemplater) {
54
+ const preRenderCount = this.memory.renderCount;
55
+ providersChangeCheck(tag);
56
+ // When the providers were checked, a render to myself occurred and I do not need to re-render again
57
+ if (preRenderCount !== this.memory.renderCount) {
58
+ return true;
59
+ }
60
+ const oldTemplater = tag.tagSupport.templater;
61
+ const nowProps = newTemplater.tagSupport.props; // natural props
62
+ const oldProps = oldTemplater?.tagSupport.props; // previously cloned props
63
+ const newProps = newTemplater.tagSupport.clonedProps; // new props cloned
64
+ return renderTag(this, nowProps, oldProps, newProps, this.templater);
65
+ }
66
+ }
67
+ export function getTagSupport(depth, templater, props) {
68
+ const tagSupport = new TagSupport(templater, props);
69
+ tagSupport.depth = depth;
18
70
  return tagSupport;
19
71
  }
72
+ function providersChangeCheck(tag) {
73
+ const providersWithChanges = tag.tagSupport.memory.providers.filter(provider => {
74
+ return !deepEqual(provider.instance, provider.clone);
75
+ });
76
+ // reset clones
77
+ providersWithChanges.forEach(provider => {
78
+ const appElement = tag.getAppElement();
79
+ handleProviderChanges(appElement, provider);
80
+ provider.clone = deepClone(provider.instance);
81
+ });
82
+ }
83
+ function handleProviderChanges(appElement, provider) {
84
+ const tagsWithProvider = getTagsWithProvider(appElement, provider);
85
+ tagsWithProvider.forEach(({ tag, renderCount, provider }) => {
86
+ const unRendered = renderCount === tag.tagSupport.memory.renderCount;
87
+ if (unRendered) {
88
+ provider.clone = deepClone(provider.instance);
89
+ tag.tagSupport.render();
90
+ }
91
+ });
92
+ }
93
+ function getTagsWithProvider(tag, provider, memory = []) {
94
+ const hasProvider = tag.tagSupport.memory.providers.find(xProvider => xProvider.constructMethod === provider.constructMethod);
95
+ if (hasProvider) {
96
+ memory.push({
97
+ tag,
98
+ renderCount: tag.tagSupport.memory.renderCount,
99
+ provider: hasProvider
100
+ });
101
+ }
102
+ tag.children.forEach(child => getTagsWithProvider(child, provider, memory));
103
+ return memory;
104
+ }
105
+ function renderTag(tagSupport, nowProps, // natural props
106
+ oldProps, // previously NOT cloned props
107
+ newProps, // now props cloned
108
+ templater) {
109
+ const hasPropsChanged = tagSupport.hasPropChanges(nowProps, newProps, oldProps);
110
+ tagSupport.newest = templater.redraw(); // No change detected, just redraw me only
111
+ if (!hasPropsChanged) {
112
+ return true;
113
+ }
114
+ return false;
115
+ }
20
116
  //# sourceMappingURL=getTagSupport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getTagSupport.js","sourceRoot":"","sources":["../ts/getTagSupport.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AA8B9C,MAAM,UAAU,aAAa,CAC3B,SAA2B;IAE3B,MAAM,UAAU,GAAe;QAC7B,SAAS;QACT,WAAW,EAAE,CAAC;QACd,cAAc,EAAE,GAAG,EAAE,GAAE,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAA,CAAA,CAAC,EAAE,uCAAuC;QAC3J,MAAM,EAAE,GAAG,EAAE;YACX,EAAE,UAAU,CAAC,WAAW,CAAA;YACxB,OAAO,UAAU,CAAC,cAAc,EAAE,CAAA;QACpC,CAAC,EAAE,8DAA8D;QAEjE,cAAc,EAAE,CACd,KAAU,EACV,QAAa,EACb,cAAmB,EACnB,EAAE;YACF,MAAM,QAAQ,GAAI,UAAU,CAAC,SAAiB,CAAC,UAAU,CAAA;YACzD,MAAM,aAAa,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,cAAc,CAAA;YACrE,MAAM,OAAO,GAAG,aAAa,IAAI,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAC9D,OAAO,CAAC,OAAO,CAAA;QACjB,CAAC;KACF,CAAA;IAED,OAAO,UAAU,CAAA;AACnB,CAAC"}
1
+ {"version":3,"file":"getTagSupport.js","sourceRoot":"","sources":["../ts/getTagSupport.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEzD,OAAO,EAAmC,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEnF;;;;EAIE;AAEF,MAAM,OAAO,UAAU;IAmBZ;IACA;IAnBT,KAAK,GAAW,CAAC,CAAA,CAAC,qBAAqB;IAEvC,sEAAsE;IACtE,WAAW,CAAO;IAClB,WAAW,CAAO,CAAC,6BAA6B;IAChD,iBAAiB,CAAO;IAExB,MAAM,GAAc;QAClB,OAAO,EAAE,EAAE,EAAE,mGAAmG;QAChH,KAAK,EAAE;YACL,MAAM,EAAE,EAAE;SACX;QACD,SAAS,EAAE,EAAE;QACb,oFAAoF;QACpF,WAAW,EAAE,CAAC;KACf,CAAA;IAED,YACS,SAA0B,EAC1B,KAAa;QADb,cAAS,GAAT,SAAS,CAAiB;QAC1B,UAAK,GAAL,KAAK,CAAQ;QAEpB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA,CAAC,gCAAgC;QAEzD,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QACjD,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAE,WAAW,CAAE,CAAA;QAEjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAA;IAC3C,CAAC;IAED,sCAAsC;IACtC,MAAM,CAAM;IACZ,MAAM,CAAM;IAEZ,cAAc,CACZ,KAAU,EAAE,gBAAgB;IAC5B,cAAmB,EAAE,0BAA0B;IAC/C,cAAmB;QAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAA;QAC3B,MAAM,aAAa,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,cAAc,CAAA;QACrE,MAAM,OAAO,GAAG,aAAa,IAAI,SAAS,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;QACpE,OAAO,CAAC,OAAO,CAAA;IACjB,CAAC;IAED,cAAc;QACZ,MAAM,OAAO,GAAG,yEAAyE,CAAA;QACzF,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC,CAAA;QAC1C,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC,CAAC,uCAAuC;IAEzC,MAAM;QACJ,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAA;QACzB,OAAO,IAAI,CAAC,cAAc,EAAE,CAAA;IAC9B,CAAC,CAAC,8DAA8D;IAEhE,iBAAiB,CACf,GAAQ,EACR,YAA6B;QAE7B,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAA;QAC9C,oBAAoB,CAAC,GAAG,CAAC,CAAA;QAEzB,oGAAoG;QACpG,IAAG,cAAc,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAA;QAC7C,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,KAAK,CAAA,CAAC,gBAAgB;QAC/D,MAAM,QAAQ,GAAG,YAAY,EAAE,UAAU,CAAC,KAAK,CAAA,CAAC,0BAA0B;QAC1E,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,WAAW,CAAA,CAAC,mBAAmB;QAExE,OAAO,SAAS,CACd,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,IAAI,CAAC,SAA2B,CACjC,CAAA;IACH,CAAC;CACF;AAED,MAAM,UAAU,aAAa,CAC3B,KAAa,EACb,SAA0B,EAC1B,KAAa;IAEb,MAAM,UAAU,GAAe,IAAI,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAC/D,UAAU,CAAC,KAAK,GAAG,KAAK,CAAA;IACxB,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAQ;IACpC,MAAM,oBAAoB,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;QAC7E,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;IAEF,eAAe;IACf,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QACtC,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,EAAE,CAAA;QAEtC,qBAAqB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAE3C,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,UAAe,EACf,QAAkB;IAElB,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAElE,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAC,EAAE,EAAE;QACxD,MAAM,UAAU,GAAG,WAAW,KAAK,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAA;QACpE,IAAG,UAAU,EAAE,CAAC;YACd,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAC7C,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAA;QACzB,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,GAAQ,EACR,QAAkB,EAClB,SAIM,EAAE;IAER,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,KAAK,QAAQ,CAAC,eAAe,CAAC,CAAA;IAE7H,IAAG,WAAW,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC;YACV,GAAG;YACH,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW;YAC9C,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;IAE3E,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,SAAS,CAChB,UAAsB,EACtB,QAAa,EAAE,gBAAgB;AAC/B,QAAa,EAAE,8BAA8B;AAC7C,QAAa,EAAE,mBAAmB;AAClC,SAAyB;IAEzB,MAAM,eAAe,GAAG,UAAU,CAAC,cAAc,CAC/C,QAAQ,EACR,QAAQ,EACR,QAAQ,CACT,CAAA;IAED,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAA,CAAC,0CAA0C;IAEjF,IAAG,CAAC,eAAe,EAAE,CAAC;QACpB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
package/js/js/html.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import { Tag } from "./Tag.class.js";
2
- export declare function html(strings: string[], ...values: unknown[]): Tag;
2
+ export declare function html(strings: string[] | TemplateStringsArray, ...values: unknown[]): Tag;
package/js/js/html.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"html.js","sourceRoot":"","sources":["../ts/html.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAEpC,MAAM,UAAU,IAAI,CAClB,OAAiB,EACjB,GAAG,MAAiB;IAEpB,OAAO,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;AACjC,CAAC"}
1
+ {"version":3,"file":"html.js","sourceRoot":"","sources":["../ts/html.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAEpC,MAAM,UAAU,IAAI,CAClB,OAAwC,EACxC,GAAG,MAAiB;IAEpB,OAAO,IAAI,GAAG,CAAC,OAAmB,EAAE,MAAM,CAAC,CAAA;AAC7C,CAAC"}
package/js/js/index.d.ts CHANGED
@@ -1,10 +1,19 @@
1
- export { html } from "./html.js";
2
- export { tag } from "./tag.js";
3
- export { Subject } from "./Subject.js";
4
- export { wait } from "./wait.js";
5
- export { renderAppToElement } from "./renderAppToElement.js";
1
+ /** Must use .js and NOT .ts extensions here */
2
+ export * from "./html.js";
3
+ export * from "./Subject.js";
4
+ export * from "./interpolateElement.js";
5
+ export * from "./getTagSupport.js";
6
+ export * from "./redrawTag.function.js";
7
+ export * from "./tagGateway.function.js";
8
+ export { isTagComponent } from "./isInstance.js";
9
+ export { tags, tag } from "./tag.js";
10
+ export { TagComponent } from "./templater.utils.js";
11
+ export { tagElement } from "./tagElement.js";
6
12
  export { Tag } from "./Tag.class.js";
7
- export * from "./onInit.js";
13
+ export { runBeforeRender } from "./tagRunner.js";
14
+ export { setUse } from "./setUse.function.js";
8
15
  export { providers } from "./providers.js";
9
16
  export { state } from "./state.js";
10
- export { getCallback } from "./getCallback.js";
17
+ export * from "./onInit.js";
18
+ export * from "./onDestroy.js";
19
+ export * from "./getCallback.js";
package/js/js/index.js CHANGED
@@ -1,12 +1,24 @@
1
- export { html } from "./html.js";
2
- export { tag } from "./tag.js";
3
- export { Subject } from "./Subject.js";
4
- export { wait } from "./wait.js";
5
- export { renderAppToElement } from "./renderAppToElement.js";
1
+ /** Must use .js and NOT .ts extensions here */
2
+ export * from "./html.js";
3
+ export * from "./Subject.js";
4
+ export * from "./interpolateElement.js";
5
+ export * from "./getTagSupport.js";
6
+ export * from "./redrawTag.function.js";
7
+ export * from "./tagGateway.function.js";
8
+ // TODO: export *
9
+ export { isTagComponent } from "./isInstance.js";
10
+ export { tags, tag } from "./tag.js";
11
+ export { tagElement } from "./tagElement.js";
6
12
  export { Tag } from "./Tag.class.js";
7
- // hooks
8
- export * from "./onInit.js";
13
+ export { runBeforeRender } from "./tagRunner.js";
14
+ export { setUse } from "./setUse.function.js";
15
+ /* hooks */
16
+ // TODO: export *
9
17
  export { providers } from "./providers.js";
18
+ // TODO: export *
10
19
  export { state } from "./state.js";
11
- export { getCallback } from "./getCallback.js";
20
+ export * from "./onInit.js";
21
+ export * from "./onDestroy.js";
22
+ export * from "./getCallback.js";
23
+ /* end: hooks */
12
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAG9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAEpC,QAAQ;AACR,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAE/C,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA;AAExC,iBAAiB;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,WAAW;AACT,iBAAiB;AACjB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,iBAAiB;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAClC,gBAAgB"}
@@ -1,3 +1,4 @@
1
1
  import { Context, Tag } from "./Tag.class.js";
2
2
  export declare function interpolateAttributes(child: Element, scope: Context, ownerTag: Tag): void;
3
- export declare function isSpecialAttr(attrName: string): boolean;
3
+ /** Looking for (class | style) followed by a period */
4
+ export declare function isSpecialAttr(attrName: string | String): boolean;