taggedjs 2.0.1 → 2.1.2

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 (152) hide show
  1. package/index.js +1 -1
  2. package/js/Subject.d.ts +12 -0
  3. package/js/Subject.js +38 -0
  4. package/js/Subject.js.map +1 -0
  5. package/js/Tag.class.d.ts +45 -0
  6. package/js/Tag.class.js +213 -0
  7. package/js/Tag.class.js.map +1 -0
  8. package/js/Tag.utils.d.ts +24 -0
  9. package/js/Tag.utils.js +102 -0
  10. package/js/Tag.utils.js.map +1 -0
  11. package/js/ValueSubject.d.ts +6 -0
  12. package/js/ValueSubject.js +15 -0
  13. package/js/ValueSubject.js.map +1 -0
  14. package/js/deepFunctions.d.ts +2 -0
  15. package/js/deepFunctions.js +76 -0
  16. package/js/deepFunctions.js.map +1 -0
  17. package/js/elementInitCheck.d.ts +2 -0
  18. package/js/elementInitCheck.js +18 -0
  19. package/js/elementInitCheck.js.map +1 -0
  20. package/js/getCallback.d.ts +3 -0
  21. package/js/getCallback.js +53 -0
  22. package/js/getCallback.js.map +1 -0
  23. package/js/getTagSupport.d.ts +20 -0
  24. package/js/getTagSupport.js +20 -0
  25. package/js/getTagSupport.js.map +1 -0
  26. package/js/html.d.ts +2 -0
  27. package/js/html.js +5 -0
  28. package/js/html.js.map +1 -0
  29. package/js/index.d.ts +10 -0
  30. package/js/index.js +12 -0
  31. package/js/index.js.map +1 -0
  32. package/js/inputAttribute.d.ts +1 -0
  33. package/js/inputAttribute.js +19 -0
  34. package/js/inputAttribute.js.map +1 -0
  35. package/js/interpolateAttributes.d.ts +3 -0
  36. package/js/interpolateAttributes.js +69 -0
  37. package/js/interpolateAttributes.js.map +1 -0
  38. package/js/interpolateContentTemplates.d.ts +3 -0
  39. package/js/interpolateContentTemplates.js +47 -0
  40. package/js/interpolateContentTemplates.js.map +1 -0
  41. package/js/interpolateElement.d.ts +14 -0
  42. package/js/interpolateElement.js +35 -0
  43. package/js/interpolateElement.js.map +1 -0
  44. package/js/interpolateTemplate.d.ts +21 -0
  45. package/js/interpolateTemplate.js +262 -0
  46. package/js/interpolateTemplate.js.map +1 -0
  47. package/js/interpolations.d.ts +6 -0
  48. package/js/interpolations.js +17 -0
  49. package/js/interpolations.js.map +1 -0
  50. package/js/js/Subject.d.ts +12 -0
  51. package/js/js/Subject.js +38 -0
  52. package/js/js/Subject.js.map +1 -0
  53. package/js/js/Tag.class.d.ts +45 -0
  54. package/js/js/Tag.class.js +213 -0
  55. package/js/js/Tag.class.js.map +1 -0
  56. package/js/js/Tag.utils.d.ts +24 -0
  57. package/js/js/Tag.utils.js +102 -0
  58. package/js/js/Tag.utils.js.map +1 -0
  59. package/js/js/ValueSubject.d.ts +6 -0
  60. package/js/js/ValueSubject.js +15 -0
  61. package/js/js/ValueSubject.js.map +1 -0
  62. package/js/js/deepFunctions.d.ts +2 -0
  63. package/js/js/deepFunctions.js +76 -0
  64. package/js/js/deepFunctions.js.map +1 -0
  65. package/js/js/elementInitCheck.d.ts +2 -0
  66. package/js/js/elementInitCheck.js +18 -0
  67. package/js/js/elementInitCheck.js.map +1 -0
  68. package/js/js/getCallback.d.ts +3 -0
  69. package/js/js/getCallback.js +53 -0
  70. package/js/js/getCallback.js.map +1 -0
  71. package/js/js/getTagSupport.d.ts +20 -0
  72. package/js/js/getTagSupport.js +20 -0
  73. package/js/js/getTagSupport.js.map +1 -0
  74. package/js/js/html.d.ts +2 -0
  75. package/js/js/html.js +5 -0
  76. package/js/js/html.js.map +1 -0
  77. package/js/js/index.d.ts +10 -0
  78. package/js/js/index.js +12 -0
  79. package/js/js/index.js.map +1 -0
  80. package/js/js/inputAttribute.d.ts +1 -0
  81. package/js/js/inputAttribute.js +19 -0
  82. package/js/js/inputAttribute.js.map +1 -0
  83. package/js/js/interpolateAttributes.d.ts +3 -0
  84. package/js/js/interpolateAttributes.js +69 -0
  85. package/js/js/interpolateAttributes.js.map +1 -0
  86. package/js/js/interpolateContentTemplates.d.ts +3 -0
  87. package/js/js/interpolateContentTemplates.js +47 -0
  88. package/js/js/interpolateContentTemplates.js.map +1 -0
  89. package/js/js/interpolateElement.d.ts +14 -0
  90. package/js/js/interpolateElement.js +35 -0
  91. package/js/js/interpolateElement.js.map +1 -0
  92. package/js/js/interpolateTemplate.d.ts +21 -0
  93. package/js/js/interpolateTemplate.js +262 -0
  94. package/js/js/interpolateTemplate.js.map +1 -0
  95. package/js/js/interpolations.d.ts +6 -0
  96. package/js/js/interpolations.js +17 -0
  97. package/js/js/interpolations.js.map +1 -0
  98. package/js/js/onInit.d.ts +6 -0
  99. package/js/js/onInit.js +17 -0
  100. package/js/js/onInit.js.map +1 -0
  101. package/js/js/processTagArray.d.ts +5 -0
  102. package/js/js/processTagArray.js +49 -0
  103. package/js/js/processTagArray.js.map +1 -0
  104. package/js/js/providers.d.ts +25 -0
  105. package/js/js/providers.js +78 -0
  106. package/js/js/providers.js.map +1 -0
  107. package/js/js/render.d.ts +6 -0
  108. package/js/js/render.js +31 -0
  109. package/js/js/render.js.map +1 -0
  110. package/js/js/renderAppToElement.d.ts +8 -0
  111. package/js/js/renderAppToElement.js +38 -0
  112. package/js/js/renderAppToElement.js.map +1 -0
  113. package/js/js/state.d.ts +21 -0
  114. package/js/js/state.js +63 -0
  115. package/js/js/state.js.map +1 -0
  116. package/js/js/tag.d.ts +17 -0
  117. package/js/js/tag.js +57 -0
  118. package/js/js/tag.js.map +1 -0
  119. package/js/js/tagRunner.d.ts +17 -0
  120. package/js/js/tagRunner.js +19 -0
  121. package/js/js/tagRunner.js.map +1 -0
  122. package/js/js/wait.d.ts +1 -0
  123. package/js/js/wait.js +8 -0
  124. package/js/js/wait.js.map +1 -0
  125. package/js/onInit.d.ts +6 -0
  126. package/js/onInit.js +17 -0
  127. package/js/onInit.js.map +1 -0
  128. package/js/processTagArray.d.ts +5 -0
  129. package/js/processTagArray.js +49 -0
  130. package/js/processTagArray.js.map +1 -0
  131. package/js/providers.d.ts +25 -0
  132. package/js/providers.js +78 -0
  133. package/js/providers.js.map +1 -0
  134. package/js/render.d.ts +6 -0
  135. package/js/render.js +31 -0
  136. package/js/render.js.map +1 -0
  137. package/js/renderAppToElement.d.ts +8 -0
  138. package/js/renderAppToElement.js +38 -0
  139. package/js/renderAppToElement.js.map +1 -0
  140. package/js/state.d.ts +21 -0
  141. package/js/state.js +63 -0
  142. package/js/state.js.map +1 -0
  143. package/js/tag.d.ts +17 -0
  144. package/js/tag.js +57 -0
  145. package/js/tag.js.map +1 -0
  146. package/js/tagRunner.d.ts +17 -0
  147. package/js/tagRunner.js +19 -0
  148. package/js/tagRunner.js.map +1 -0
  149. package/js/wait.d.ts +1 -0
  150. package/js/wait.js +8 -0
  151. package/js/wait.js.map +1 -0
  152. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepFunctions.js","sourceRoot":"","sources":["../ts/deepFunctions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Counts } from "./interpolateTemplate.js";
2
+ export declare function elementInitCheck(nextSibling: Element | ChildNode, counts: Counts): void;
@@ -0,0 +1,18 @@
1
+ export function elementInitCheck(nextSibling, counts) {
2
+ const onInitDoubleWrap = nextSibling.oninit;
3
+ if (!onInitDoubleWrap) {
4
+ return;
5
+ }
6
+ const onInitWrap = onInitDoubleWrap.tagFunction;
7
+ if (!onInitWrap) {
8
+ return;
9
+ }
10
+ const onInit = onInitWrap.tagFunction;
11
+ if (!onInit) {
12
+ return;
13
+ }
14
+ const event = { target: nextSibling, stagger: counts.added };
15
+ onInit(event);
16
+ ++counts.added;
17
+ }
18
+ //# sourceMappingURL=elementInitCheck.js.map
@@ -0,0 +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"}
@@ -0,0 +1,3 @@
1
+ type Callback = <T>(...args: unknown[]) => T;
2
+ export declare let getCallback: () => (callback: Callback) => () => void;
3
+ export {};
@@ -0,0 +1,53 @@
1
+ import { getStateValue } from "./state.js";
2
+ import { setUse } from "./tagRunner.js";
3
+ export let getCallback = () => (callback) => () => {
4
+ throw new Error('The real callback function was called and that should never occur');
5
+ };
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
+ }
46
+ });
47
+ function updateState(stateFrom, stateTo) {
48
+ stateFrom.forEach((state, index) => {
49
+ const oldValue = getStateValue(state);
50
+ const [checkValue] = stateTo[index](oldValue);
51
+ });
52
+ }
53
+ //# sourceMappingURL=getCallback.js.map
@@ -0,0 +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"}
@@ -0,0 +1,20 @@
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;
17
+ oldest?: Tag;
18
+ newest?: Tag;
19
+ }
20
+ export declare function getTagSupport(templater?: TemplaterResult): TagSupport;
@@ -0,0 +1,20 @@
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;
16
+ },
17
+ };
18
+ return tagSupport;
19
+ }
20
+ //# sourceMappingURL=getTagSupport.js.map
@@ -0,0 +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"}
package/js/html.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import { Tag } from "./Tag.class.js";
2
+ export declare function html(strings: string[], ...values: unknown[]): Tag;
package/js/html.js ADDED
@@ -0,0 +1,5 @@
1
+ import { Tag } from "./Tag.class.js";
2
+ export function html(strings, ...values) {
3
+ return new Tag(strings, values);
4
+ }
5
+ //# sourceMappingURL=html.js.map
package/js/html.js.map ADDED
@@ -0,0 +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"}
package/js/index.d.ts ADDED
@@ -0,0 +1,10 @@
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";
6
+ export { Tag } from "./Tag.class.js";
7
+ export * from "./onInit.js";
8
+ export { providers } from "./providers.js";
9
+ export { state } from "./state.js";
10
+ export { getCallback } from "./getCallback.js";
package/js/index.js ADDED
@@ -0,0 +1,12 @@
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";
6
+ export { Tag } from "./Tag.class.js";
7
+ // hooks
8
+ export * from "./onInit.js";
9
+ export { providers } from "./providers.js";
10
+ export { state } from "./state.js";
11
+ export { getCallback } from "./getCallback.js";
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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"}
@@ -0,0 +1 @@
1
+ export declare function inputAttribute(name: string, value: any, element: Element): void;
@@ -0,0 +1,19 @@
1
+ export function inputAttribute(name, value, element) {
2
+ const names = name.split('.');
3
+ // style.position = "absolute"
4
+ if (names[0] === 'style') {
5
+ element.style[names[1]] = value;
6
+ }
7
+ // Example: class.width-full = "true"
8
+ if (names[0] === 'class') {
9
+ names.pop();
10
+ if (value) {
11
+ names.forEach(name => element.classList.remove(name));
12
+ }
13
+ else {
14
+ names.forEach(name => element.classList.add(name));
15
+ }
16
+ return;
17
+ }
18
+ }
19
+ //# sourceMappingURL=inputAttribute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputAttribute.js","sourceRoot":"","sources":["../ts/inputAttribute.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAC5B,IAAY,EACZ,KAAU,EACV,OAAgB;IAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE7B,8BAA8B;IAC9B,IAAG,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QACvB,OAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;IAC1C,CAAC;IAED,qCAAqC;IACrC,IAAG,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QACxB,KAAK,CAAC,GAAG,EAAE,CAAA;QACX,IAAG,KAAK,EAAE,CAAC;YACT,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QACvD,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QACpD,CAAC;QACD,OAAM;IACR,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Context, Tag } from "./Tag.class.js";
2
+ export declare function interpolateAttributes(child: Element, scope: Context, ownerTag: Tag): void;
3
+ export declare function isSpecialAttr(attrName: string): boolean;
@@ -0,0 +1,69 @@
1
+ import { Subject } from "./Subject.js";
2
+ import { inputAttribute } from "./inputAttribute.js";
3
+ const startRegX = /^\s*{/;
4
+ const endRegX = /}\s*$/;
5
+ export function interpolateAttributes(child, scope, ownerTag) {
6
+ child.getAttributeNames().forEach(attrName => {
7
+ const value = child.getAttribute(attrName);
8
+ const isSpecial = isSpecialAttr(attrName);
9
+ // An attempt to replicate React
10
+ if (value && value.search(startRegX) >= 0 && value.search(endRegX) >= 0) {
11
+ // get the code inside the brackets like "variable0" or "{variable0}"
12
+ const code = value.replace('{', '').split('').reverse().join('').replace('}', '').split('').reverse().join('');
13
+ const result = scope[code];
14
+ // attach as callback
15
+ if (result instanceof Function) {
16
+ ;
17
+ child[attrName] = function (...args) {
18
+ result(child, args);
19
+ };
20
+ return;
21
+ }
22
+ if (result instanceof Subject) {
23
+ child.removeAttribute(attrName);
24
+ const callback = (newAttrValue) => {
25
+ if (newAttrValue instanceof Function) {
26
+ ;
27
+ child[attrName] = function (...args) {
28
+ newAttrValue(child, args);
29
+ };
30
+ child[attrName].tagFunction = newAttrValue;
31
+ return;
32
+ }
33
+ if (isSpecial) {
34
+ inputAttribute(attrName, newAttrValue, child);
35
+ }
36
+ if (newAttrValue) {
37
+ child.setAttribute(attrName, newAttrValue);
38
+ }
39
+ const isDeadValue = newAttrValue === undefined || newAttrValue === false || newAttrValue === null;
40
+ if (isDeadValue) {
41
+ child.removeAttribute(attrName);
42
+ return;
43
+ }
44
+ // value is 0
45
+ child.setAttribute(attrName, newAttrValue);
46
+ };
47
+ const sub = result.subscribe(callback);
48
+ ownerTag.cloneSubs.push(sub); // this is where unsubscribe is picked up
49
+ return;
50
+ }
51
+ // child.setAttribute(attrName, result)
52
+ /*
53
+ if(attrName === 'style') {
54
+ return
55
+ }
56
+ */
57
+ child.setAttribute(attrName, result.value);
58
+ return;
59
+ }
60
+ // Non dynamic
61
+ if (isSpecial) {
62
+ return inputAttribute(attrName, value, child);
63
+ }
64
+ });
65
+ }
66
+ export function isSpecialAttr(attrName) {
67
+ return attrName.search(/^(class|style)(\.)/) >= 0;
68
+ }
69
+ //# sourceMappingURL=interpolateAttributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpolateAttributes.js","sourceRoot":"","sources":["../ts/interpolateAttributes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Tag } from "./Tag.class.js";
2
+ /** Returns subscriptions[] that will need to be unsubscribed from when element is destroyed */
3
+ export declare function interpolateContentTemplates(element: Element, variable: any, ownerTag: Tag): void;
@@ -0,0 +1,47 @@
1
+ import { interpolateTemplate } from "./interpolateTemplate.js";
2
+ /** Returns subscriptions[] that will need to be unsubscribed from when element is destroyed */
3
+ export function interpolateContentTemplates(element, variable, ownerTag) {
4
+ if (!element.children || element.tagName === 'TEMPLATE') {
5
+ return; // done
6
+ }
7
+ const counts = {
8
+ added: 0,
9
+ removed: 0,
10
+ };
11
+ const children = new Array(...element.children);
12
+ children.forEach((child, index) => {
13
+ interpolateChild(child, index, children);
14
+ if (child.children) {
15
+ const nextKids = new Array(...child.children);
16
+ nextKids.forEach((subChild, index) => {
17
+ if (isRenderEndTemplate(subChild)) {
18
+ interpolateChild(subChild, index, nextKids);
19
+ }
20
+ interpolateContentTemplates(subChild, variable, ownerTag);
21
+ });
22
+ }
23
+ });
24
+ function interpolateChild(child, index, children) {
25
+ children.forEach((child, subIndex) => {
26
+ if (subIndex < index) {
27
+ return; // too low
28
+ }
29
+ if (child.tagName !== 'TEMPLATE') {
30
+ return; // not a template
31
+ }
32
+ if (child.getAttribute('interpolate') === undefined || child.getAttribute('end') === undefined) {
33
+ return; // not a rendering template
34
+ }
35
+ return child;
36
+ });
37
+ interpolateTemplate(child, variable, ownerTag, counts);
38
+ }
39
+ return;
40
+ }
41
+ function isRenderEndTemplate(child) {
42
+ const isTemplate = child.tagName === 'TEMPLATE';
43
+ return isTemplate &&
44
+ child.getAttribute('interpolate') !== undefined &&
45
+ child.getAttribute('end') !== undefined;
46
+ }
47
+ //# sourceMappingURL=interpolateContentTemplates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpolateContentTemplates.js","sourceRoot":"","sources":["../ts/interpolateContentTemplates.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAEtE,+FAA+F;AAC/F,MAAM,UAAU,2BAA2B,CACzC,OAAgB,EAChB,QAAa,EACb,QAAa;IAEb,IAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU,EAAG,CAAC;QAC1D,OAAM,CAAC,OAAO;IAChB,CAAC;IACD,MAAM,MAAM,GAAW;QACrB,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;KACX,CAAA;IAED,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,GAAI,OAAO,CAAC,QAAgB,CAAC,CAAA;IAExD,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAChC,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;QAExC,IAAK,KAAK,CAAC,QAAQ,EAAG,CAAC;YACrB,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC7C,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;gBACnC,IAAK,mBAAmB,CAAC,QAAQ,CAAC,EAAG,CAAC;oBACpC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;gBAC7C,CAAC;gBAED,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAC3D,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,SAAS,gBAAgB,CACvB,KAAc,EACd,KAAa,EACb,QAAmB;QAEnB,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YACnC,IAAK,QAAQ,GAAG,KAAK,EAAG,CAAC;gBACvB,OAAM,CAAC,UAAU;YACnB,CAAC;YAED,IAAK,KAAK,CAAC,OAAO,KAAG,UAAU,EAAG,CAAC;gBACjC,OAAM,CAAC,iBAAiB;YAC1B,CAAC;YAED,IAAK,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,KAAG,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,SAAS,EAAG,CAAC;gBAC/F,OAAM,CAAC,2BAA2B;YACpC,CAAC;YAED,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;QAEF,mBAAmB,CACjB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,CACP,CAAA;IACH,CAAC;IAED,OAAM;AACR,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,KAAG,UAAU,CAAA;IAC7C,OAAO,UAAU;QACjB,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,SAAS;QAC/C,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,SAAS,CAAA;AACzC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { Context, Tag } from "./Tag.class.js";
2
+ /**
3
+ *
4
+ * @param {*} element
5
+ * @param {*} context
6
+ * @param {Tag} ownerTag
7
+ */
8
+ export declare function interpolateElement(element: Element, context: Context, // variables used to evaluate
9
+ ownerTag: Tag): void;
10
+ /** Convert interpolations into template tags */
11
+ export declare function interpolateElementChild(child: Element): {
12
+ string: string;
13
+ keys: string[];
14
+ };
@@ -0,0 +1,35 @@
1
+ import { interpolateAttributes } from "./interpolateAttributes.js";
2
+ import { interpolateToTemplates } from "./interpolations.js";
3
+ import { interpolateContentTemplates } from "./interpolateContentTemplates.js";
4
+ import { escapeSearch, variablePrefix } from "./Tag.class.js";
5
+ /**
6
+ *
7
+ * @param {*} element
8
+ * @param {*} context
9
+ * @param {Tag} ownerTag
10
+ */
11
+ export function interpolateElement(element, context, // variables used to evaluate
12
+ ownerTag) {
13
+ const result = interpolateElementChild(element);
14
+ if (result.keys.length) {
15
+ interpolateContentTemplates(element, context, ownerTag);
16
+ }
17
+ interpolateAttributes(element, context, ownerTag);
18
+ function processChildren(children) {
19
+ new Array(...children).forEach(child => {
20
+ interpolateAttributes(child, context, ownerTag);
21
+ if (child.children) {
22
+ processChildren(child.children);
23
+ }
24
+ });
25
+ }
26
+ processChildren(element.children);
27
+ }
28
+ /** Convert interpolations into template tags */
29
+ export function interpolateElementChild(child) {
30
+ const result = interpolateToTemplates(child.innerHTML);
31
+ result.string = result.string.replace(escapeSearch, variablePrefix);
32
+ child.innerHTML = result.string;
33
+ return result;
34
+ }
35
+ //# sourceMappingURL=interpolateElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpolateElement.js","sourceRoot":"","sources":["../ts/interpolateElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAC9E,OAAO,EAAgB,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE3E;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAgB,EAChB,OAAgB,EAAE,6BAA6B;AAC/C,QAAa;IAEb,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAA;IAE/C,IAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,2BAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IACzD,CAAC;IAED,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IAEjD,SAAS,eAAe,CAAC,QAAwB;QAC/C,IAAI,KAAK,CAAC,GAAG,QAAe,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC5C,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;YAE/C,IAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAClB,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YACjC,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;AACnC,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,uBAAuB,CACrC,KAAc;IAEd,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACtD,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;IACnE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAA;IAC/B,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { Context, Tag } from "./Tag.class.js";
2
+ import { TemplaterResult } from "./tag.js";
3
+ export declare function interpolateTemplate(template: Element & {
4
+ clone?: any;
5
+ }, // <template end interpolate /> (will be removed)
6
+ context: Context, // variable scope of {`__tagVar${index}`:'x'}
7
+ ownerTag: Tag, // Tag class
8
+ counts: Counts): void;
9
+ export declare function updateBetweenTemplates(value: any, lastFirstChild: Element): Text;
10
+ export type Counts = {
11
+ added: 0;
12
+ removed: 0;
13
+ };
14
+ /** Returns {clones:[], subs:[]} */
15
+ export declare function processTagResult(tag: Tag, result: any, // used for recording past and current value
16
+ insertBefore: Element, // <template end interpolate />
17
+ { index, counts, }: {
18
+ index?: number;
19
+ counts: Counts;
20
+ }): void;
21
+ export declare function isTagComponent(value: unknown | TemplaterResult): boolean;