taggedjs 2.3.30 → 2.4.10

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 (186) hide show
  1. package/bundle.js +3675 -0
  2. package/bundle.js.map +1 -0
  3. package/index.js +1 -1
  4. package/js/Subject.d.ts +3 -4
  5. package/js/Subject.js +4 -4
  6. package/js/Subject.js.map +1 -1
  7. package/js/Tag.class.d.ts +24 -17
  8. package/js/Tag.class.js +205 -78
  9. package/js/Tag.class.js.map +1 -1
  10. package/js/Tag.utils.d.ts +13 -13
  11. package/js/Tag.utils.js +2 -18
  12. package/js/Tag.utils.js.map +1 -1
  13. package/js/TagSupport.class.d.ts +15 -14
  14. package/js/TagSupport.class.js +24 -46
  15. package/js/TagSupport.class.js.map +1 -1
  16. package/js/TemplaterResult.class.d.ts +34 -0
  17. package/js/TemplaterResult.class.js +79 -0
  18. package/js/TemplaterResult.class.js.map +1 -0
  19. package/js/ValueSubject.d.ts +4 -2
  20. package/js/ValueSubject.js +1 -1
  21. package/js/ValueSubject.js.map +1 -1
  22. package/js/alterProps.function.d.ts +4 -0
  23. package/js/alterProps.function.js +46 -0
  24. package/js/alterProps.function.js.map +1 -0
  25. package/js/bindSubjectCallback.function 9.27.33/342/200/257AM.js" +32 -0
  26. package/js/bindSubjectCallback.function.d 9.27.33/342/200/257AM.ts" +8 -0
  27. package/js/bindSubjectCallback.function.d.ts +3 -4
  28. package/js/bindSubjectCallback.function.js +20 -8
  29. package/js/bindSubjectCallback.function.js.map +1 -1
  30. package/js/checkDestroyPrevious.function.d.ts +6 -0
  31. package/js/checkDestroyPrevious.function.js +62 -0
  32. package/js/checkDestroyPrevious.function.js.map +1 -0
  33. package/js/destroyTag.function.d.ts +5 -0
  34. package/js/destroyTag.function.js +19 -0
  35. package/js/destroyTag.function.js.map +1 -0
  36. package/js/elementInitCheck.d.ts +1 -1
  37. package/js/getCallback.d.ts +1 -1
  38. package/js/getCallback.js +15 -13
  39. package/js/getCallback.js.map +1 -1
  40. package/js/hasTagSupportChanged.function.d.ts +6 -6
  41. package/js/hasTagSupportChanged.function.js +31 -21
  42. package/js/hasTagSupportChanged.function.js.map +1 -1
  43. package/js/html.d.ts +1 -1
  44. package/js/html.js +1 -1
  45. package/js/html.js.map +1 -1
  46. package/js/index.d.ts +22 -27
  47. package/js/index.js +26 -27
  48. package/js/index.js.map +1 -1
  49. package/js/interpolateAttributes.d.ts +2 -3
  50. package/js/interpolateAttributes.js +1 -127
  51. package/js/interpolateAttributes.js.map +1 -1
  52. package/js/interpolateContentTemplates.d.ts +9 -6
  53. package/js/interpolateContentTemplates.js +18 -28
  54. package/js/interpolateContentTemplates.js.map +1 -1
  55. package/js/interpolateElement.d.ts +7 -6
  56. package/js/interpolateElement.js +13 -10
  57. package/js/interpolateElement.js.map +1 -1
  58. package/js/interpolateTemplate.d.ts +22 -7
  59. package/js/interpolateTemplate.js +65 -27
  60. package/js/interpolateTemplate.js.map +1 -1
  61. package/js/isInstance.d.ts +3 -4
  62. package/js/isInstance.js.map +1 -1
  63. package/js/isLikeTags.function.d.ts +2 -0
  64. package/js/isLikeTags.function.js +30 -0
  65. package/js/isLikeTags.function.js.map +1 -0
  66. package/js/onDestroy.js +3 -3
  67. package/js/onDestroy.js.map +1 -1
  68. package/js/onInit.js +1 -1
  69. package/js/onInit.js.map +1 -1
  70. package/js/processAttribute.function.d.ts +3 -0
  71. package/js/processAttribute.function.js +122 -0
  72. package/js/processAttribute.function.js.map +1 -0
  73. package/js/processNewValue.function.d.ts +2 -2
  74. package/js/processNewValue.function.js +13 -15
  75. package/js/processNewValue.function.js.map +1 -1
  76. package/js/processRegularValue.function.d.ts +5 -7
  77. package/js/processRegularValue.function.js +10 -17
  78. package/js/processRegularValue.function.js.map +1 -1
  79. package/js/processSubjectComponent.function.d.ts +6 -6
  80. package/js/processSubjectComponent.function.js +30 -22
  81. package/js/processSubjectComponent.function.js.map +1 -1
  82. package/js/processSubjectValue.function.d.ts +16 -14
  83. package/js/processSubjectValue.function.js +55 -79
  84. package/js/processSubjectValue.function.js.map +1 -1
  85. package/js/processTagArray.d.ts +9 -8
  86. package/js/processTagArray.js +36 -37
  87. package/js/processTagArray.js.map +1 -1
  88. package/js/processTagResult.function.d.ts +7 -8
  89. package/js/processTagResult.function.js +40 -17
  90. package/js/processTagResult.function.js.map +1 -1
  91. package/js/provider.utils.d.ts +1 -1
  92. package/js/provider.utils.js +19 -8
  93. package/js/provider.utils.js.map +1 -1
  94. package/js/providers.js +6 -6
  95. package/js/providers.js.map +1 -1
  96. package/js/redrawTag.function.d.ts +5 -8
  97. package/js/redrawTag.function.js +16 -4
  98. package/js/redrawTag.function.js.map +1 -1
  99. package/js/render.d.ts +1 -1
  100. package/js/render.js.map +1 -1
  101. package/js/renderExistingTag.function.d.ts +7 -0
  102. package/js/renderExistingTag.function.js +40 -0
  103. package/js/renderExistingTag.function.js.map +1 -0
  104. package/js/renderTagSupport.function.d.ts +4 -0
  105. package/js/renderTagSupport.function.js +50 -0
  106. package/js/renderTagSupport.function.js.map +1 -0
  107. package/js/scanTextAreaValue.function.d.ts +2 -0
  108. package/js/scanTextAreaValue.function.js +16 -0
  109. package/js/scanTextAreaValue.function.js.map +1 -0
  110. package/js/set.function.d.ts +4 -3
  111. package/js/set.function.js +25 -34
  112. package/js/set.function.js.map +1 -1
  113. package/js/setLet.function.d.ts +1 -1
  114. package/js/setLet.function.js +14 -3
  115. package/js/setLet.function.js.map +1 -1
  116. package/js/setProp.function.d.ts +1 -1
  117. package/js/setProp.function.js +6 -3
  118. package/js/setProp.function.js.map +1 -1
  119. package/js/setUse.function.d.ts +11 -11
  120. package/js/tag.d.ts +6 -4
  121. package/js/tag.js +80 -71
  122. package/js/tag.js.map +1 -1
  123. package/js/tagElement.d.ts +5 -7
  124. package/js/tagElement.js +20 -31
  125. package/js/tagElement.js.map +1 -1
  126. package/js/tagRunner.d.ts +6 -6
  127. package/js/tagRunner.js +1 -1
  128. package/js/tagRunner.js.map +1 -1
  129. package/js/templater.utils.d.ts +23 -12
  130. package/js/templater.utils.js +55 -40
  131. package/js/templater.utils.js.map +1 -1
  132. package/js/updateExistingTag.function.d.ts +4 -4
  133. package/js/updateExistingTag.function.js +16 -7
  134. package/js/updateExistingTag.function.js.map +1 -1
  135. package/js/updateExistingTagComponent.function.d.ts +4 -4
  136. package/js/updateExistingTagComponent.function.js +114 -38
  137. package/js/updateExistingTagComponent.function.js.map +1 -1
  138. package/js/updateExistingValue.function.d.ts +8 -10
  139. package/js/updateExistingValue.function.js +58 -89
  140. package/js/updateExistingValue.function.js.map +1 -1
  141. package/js/watch.function.js +4 -3
  142. package/js/watch.function.js.map +1 -1
  143. package/package.json +1 -1
  144. package/js/CustomError.d.ts +0 -7
  145. package/js/CustomError.js +0 -9
  146. package/js/CustomError.js.map +0 -1
  147. package/js/ElementTarget.interface.d.ts +0 -7
  148. package/js/ElementTarget.interface.js +0 -2
  149. package/js/ElementTarget.interface.js.map +0 -1
  150. package/js/Errors2.d.ts +0 -14
  151. package/js/Errors2.js +0 -21
  152. package/js/Errors2.js.map +0 -1
  153. package/js/gateway/gateway.web.component.d.ts +0 -11
  154. package/js/gateway/gateway.web.component.js +0 -20
  155. package/js/gateway/gateway.web.component.js.map +0 -1
  156. package/js/gateway/index.d.ts +0 -3
  157. package/js/gateway/index.js +0 -4
  158. package/js/gateway/index.js.map +0 -1
  159. package/js/gateway/loadTagGateway.function.d.ts +0 -2
  160. package/js/gateway/loadTagGateway.function.js +0 -18
  161. package/js/gateway/loadTagGateway.function.js.map +0 -1
  162. package/js/gateway/tagGateway.function.d.ts +0 -5
  163. package/js/gateway/tagGateway.function.js +0 -49
  164. package/js/gateway/tagGateway.function.js.map +0 -1
  165. package/js/gateway/tagGateway.utils.d.ts +0 -22
  166. package/js/gateway/tagGateway.utils.js +0 -137
  167. package/js/gateway/tagGateway.utils.js.map +0 -1
  168. package/js/getTagSupport.d.ts +0 -20
  169. package/js/getTagSupport.js +0 -114
  170. package/js/getTagSupport.js.map +0 -1
  171. package/js/renderAppToElement.d.ts +0 -14
  172. package/js/renderAppToElement.js +0 -57
  173. package/js/renderAppToElement.js.map +0 -1
  174. package/js/state.d.ts +0 -22
  175. package/js/state.js +0 -128
  176. package/js/state.js.map +0 -1
  177. package/js/tagGateway.function.d.ts +0 -14
  178. package/js/tagGateway.function.js +0 -138
  179. package/js/tagGateway.function.js.map +0 -1
  180. package/js/updateTag.utils.d.ts +0 -8
  181. package/js/updateTag.utils.js +0 -83
  182. package/js/updateTag.utils.js.map +0 -1
  183. package/taggedjs.js +0 -1
  184. /package/js/{Errors.d.ts → errors.d.ts} +0 -0
  185. /package/js/{Errors.js → errors.js} +0 -0
  186. /package/js/{Errors.js.map → errors.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- import { TagSubject } from "./Tag.utils.js";
2
- import { TemplateRedraw } from "./templater.utils.js";
3
- import { Tag } from "./Tag.class.js";
4
- export declare function updateExistingTagComponent(tag: Tag, tempResult: TemplateRedraw, existingSubject: TagSubject, subjectValue: any): void;
1
+ import { TagSubject } from './Tag.utils';
2
+ import { TemplaterResult } from './TemplaterResult.class';
3
+ import { Tag } from './Tag.class';
4
+ export declare function updateExistingTagComponent(ownerTag: Tag, tempResult: TemplaterResult, subject: TagSubject, insertBefore: Element | Text): void;
@@ -1,56 +1,132 @@
1
- import { setValueRedraw } from "./Tag.utils.js";
2
- import { deepClone } from "./deepFunctions.js";
3
- import { isTagInstance } from "./isInstance.js";
4
- import { destroyTagMemory } from "./updateExistingValue.function.js";
5
- import { hasTagSupportChanged } from "./hasTagSupportChanged.function.js";
6
- export function updateExistingTagComponent(tag, tempResult, existingSubject, subjectValue) {
7
- let existingTag = existingSubject.tag;
8
- // previously was something else, now a tag component
9
- if (!existingTag) {
10
- setValueRedraw(tempResult, existingSubject, tag);
11
- tempResult.redraw();
12
- return;
1
+ import { hasTagSupportChanged } from './hasTagSupportChanged.function';
2
+ import { TagSupport } from './TagSupport.class';
3
+ import { processSubjectComponent } from './processSubjectComponent.function';
4
+ import { destroyTagMemory } from './destroyTag.function';
5
+ import { renderTagSupport } from './renderTagSupport.function';
6
+ export function updateExistingTagComponent(ownerTag, tempResult, subject, insertBefore) {
7
+ let existingTag = subject.tag;
8
+ /*
9
+ if(existingTag && !existingTag.hasLiveElements) {
10
+ throw new Error('issue already began')
13
11
  }
14
- // tag existingTag
12
+ */
15
13
  const oldWrapper = existingTag.tagSupport.templater.wrapper;
16
14
  const newWrapper = tempResult.wrapper;
17
15
  let isSameTag = false;
16
+ if (tempResult.global.oldest && !tempResult.global.oldest.hasLiveElements) {
17
+ throw new Error('88893434');
18
+ }
18
19
  if (oldWrapper && newWrapper) {
19
20
  const oldFunction = oldWrapper.original;
20
21
  const newFunction = newWrapper.original;
21
22
  isSameTag = oldFunction === newFunction;
22
23
  }
23
- const latestProps = tempResult.tagSupport.propsConfig.latest;
24
- const oldTagSetup = existingTag.tagSupport;
25
- oldTagSetup.propsConfig.latest = latestProps;
24
+ const oldTagSupport = existingTag.tagSupport;
25
+ const oldGlobal = oldTagSupport.templater.global;
26
+ const globalInsert = oldGlobal.insertBefore;
27
+ const oldInsertBefore = globalInsert?.parentNode ? globalInsert : insertBefore;
28
+ if (!oldInsertBefore.parentNode) {
29
+ throw new Error('stop here no parent node update existing tag');
30
+ }
26
31
  if (!isSameTag) {
27
- destroyTagMemory(existingTag, existingSubject);
32
+ destroyTagMemory(oldTagSupport.templater.global.oldest, subject);
33
+ processSubjectComponent(tempResult, subject, oldInsertBefore, ownerTag, {
34
+ forceElement: false,
35
+ counts: { added: 0, removed: 0 },
36
+ });
37
+ return;
28
38
  }
29
39
  else {
30
- const subjectTagSupport = subjectValue?.tagSupport;
31
- // old props may have changed, reclone first
32
- let oldCloneProps = subjectTagSupport.props;
33
- // if the new props are NOT HTML children, then clone the props for later render cycle comparing
34
- if (!isTagInstance(subjectTagSupport.props)) {
35
- oldCloneProps = deepClone(subjectTagSupport.props);
40
+ if (!tempResult.tagSupport) {
41
+ tempResult.tagSupport = new TagSupport(oldTagSupport.ownerTagSupport, tempResult, subject);
36
42
  }
37
- if (existingTag) {
38
- const newTagSupport = tempResult.tagSupport;
39
- const hasChanged = hasTagSupportChanged(oldTagSetup, newTagSupport);
40
- if (!hasChanged) {
41
- return;
42
- }
43
+ const newTagSupport = tempResult.tagSupport;
44
+ const hasChanged = hasTagSupportChanged(oldTagSupport, newTagSupport, tempResult);
45
+ if (!hasChanged) {
46
+ return; // its the same tag component
43
47
  }
44
48
  }
45
- setValueRedraw(tempResult, existingSubject, tag);
46
- oldTagSetup.templater = tempResult;
47
- const redraw = tempResult.redraw();
48
- /*
49
- // ???
50
- const redraw = tempResult.redraw() as Tag
51
- existingSubject.value.tag = oldTagSetup.newest = redraw
52
- */
53
- oldTagSetup.propsConfig = { ...tempResult.tagSupport.propsConfig };
49
+ const oldestTag = tempResult.global.oldest; // oldTagSupport.oldest as Tag // existingTag
50
+ const previous = tempResult.global.newest;
51
+ if (!previous || !oldestTag) {
52
+ throw new Error('how no previous or oldest nor newest?');
53
+ }
54
+ const newTag = renderTagSupport(tempResult.tagSupport, false);
55
+ existingTag = subject.tag;
56
+ const newOldest = newTag.tagSupport.templater.global.oldest;
57
+ const hasOldest = newOldest ? true : false;
58
+ if (!hasOldest) {
59
+ return buildNewTag(newTag, oldInsertBefore, oldTagSupport, subject);
60
+ }
61
+ if (newOldest && tempResult.children.value.length) {
62
+ const oldKidsSub = newOldest.tagSupport.templater.children;
63
+ oldKidsSub.set(tempResult.children.value);
64
+ }
65
+ // const newTag = tempResult.newest as Tag
66
+ if (previous && !oldestTag) {
67
+ throw new Error('bad elders');
68
+ }
69
+ // detect if both the function is the same and the return is the same
70
+ const isLikeTag = isSameTag && previous.isLikeTag(newTag);
71
+ if (previous && !oldestTag) {
72
+ throw new Error('bad elders');
73
+ }
74
+ let oldest = oldTagSupport.templater.global.oldest;
75
+ if (isLikeTag) {
76
+ if (!newTag.tagSupport.templater.global.oldest) {
77
+ throw new Error('maybe 6');
78
+ }
79
+ subject.tag = newTag;
80
+ /*
81
+ if(!newTag.hasLiveElements) {
82
+ throw new Error('44444 - 6')
83
+ }
84
+ */
85
+ oldestTag.updateByTag(newTag); // the oldest tag has element references
86
+ }
87
+ else {
88
+ // Although function looked the same it returned a different html result
89
+ if (isSameTag && existingTag) {
90
+ destroyTagMemory(existingTag, subject);
91
+ newTag.tagSupport.templater.global.context = {}; // do not share previous outputs
92
+ }
93
+ oldest = undefined;
94
+ // ??? - new remove
95
+ // subject.tag = newTag
96
+ }
97
+ if (!oldest) {
98
+ buildNewTag(newTag, oldTagSupport.templater.global.insertBefore, oldTagSupport, subject);
99
+ }
100
+ oldTagSupport.templater.global.newest = newTag;
101
+ return;
102
+ }
103
+ function checkStateChanged(state) {
104
+ return !state.newest.every(state => {
105
+ const lastValue = state.lastValue;
106
+ const nowValue = state.get();
107
+ const matched = lastValue === nowValue;
108
+ if (matched) {
109
+ return true;
110
+ }
111
+ return false;
112
+ });
113
+ }
114
+ function buildNewTag(newTag, oldInsertBefore, oldTagSupport, subject) {
115
+ newTag.buildBeforeElement(oldInsertBefore, {
116
+ forceElement: true,
117
+ counts: { added: 0, removed: 0 }, test: false,
118
+ });
119
+ newTag.tagSupport.templater.global.oldest = newTag;
120
+ newTag.tagSupport.templater.global.newest = newTag;
121
+ oldTagSupport.templater.global.oldest = newTag;
122
+ oldTagSupport.templater.global.newest = newTag;
123
+ if (!newTag.tagSupport.templater.global.oldest) {
124
+ throw new Error('maybe 5');
125
+ }
126
+ subject.tag = newTag;
127
+ if (!newTag.hasLiveElements) {
128
+ throw new Error('44444 - 5');
129
+ }
54
130
  return;
55
131
  }
56
132
  //# sourceMappingURL=updateExistingTagComponent.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateExistingTagComponent.function.js","sourceRoot":"","sources":["../ts/updateExistingTagComponent.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAA;AAEzE,MAAM,UAAU,0BAA0B,CACxC,GAAQ,EACR,UAA0B,EAC1B,eAA2B,EAC3B,YAAiB;IAEjB,IAAI,WAAW,GAAoB,eAAe,CAAC,GAAG,CAAA;IAEtD,qDAAqD;IACrD,IAAI,CAAC,WAAW,EAAG,CAAC;QAClB,cAAc,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,CAAC,CAAA;QAChD,UAAU,CAAC,MAAM,EAAE,CAAA;QACnB,OAAM;IACR,CAAC;IAED,kBAAkB;IAClB,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAA;IAC3D,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAA;IACrC,IAAI,SAAS,GAAG,KAAK,CAAA;IAErB,IAAG,UAAU,IAAI,UAAU,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAA;QACvC,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAA;QACvC,SAAS,GAAG,WAAW,KAAK,WAAW,CAAA;IACzC,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAA;IAC5D,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAA;IAC1C,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,WAAW,CAAA;IAE5C,IAAG,CAAC,SAAS,EAAE,CAAC;QACd,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;IAChD,CAAC;SAAM,CAAC;QACN,MAAM,iBAAiB,GAAG,YAAY,EAAE,UAAU,CAAA;QAClD,4CAA4C;QAE5C,IAAI,aAAa,GAAG,iBAAiB,CAAC,KAAK,CAAA;QAE3C,gGAAgG;QAChG,IAAG,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,aAAa,GAAG,SAAS,CAAE,iBAAiB,CAAC,KAAK,CAAE,CAAA;QACtD,CAAC;QAED,IAAG,WAAW,EAAE,CAAC;YACf,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,CAAA;YAC3C,MAAM,UAAU,GAAG,oBAAoB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;YACnE,IAAG,CAAC,UAAU,EAAE,CAAC;gBACf,OAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,cAAc,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,CAAC,CAAA;IAEhD,WAAW,CAAC,SAAS,GAAG,UAAU,CAAA;IAElC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAS,CAAA;IACzC;;;;MAIE;IACF,WAAW,CAAC,WAAW,GAAG,EAAC,GAAG,UAAU,CAAC,UAAU,CAAC,WAAW,EAAC,CAAA;IAEhE,OAAM;AACR,CAAC"}
1
+ {"version":3,"file":"updateExistingTagComponent.function.js","sourceRoot":"","sources":["../ts/updateExistingTagComponent.function.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,8 @@
1
- import { DisplaySubject, TagSubject } from "./Tag.utils.js";
2
- import { TagSupport } from "./TagSupport.class.js";
3
- import { Subject } from "./Subject.js";
4
- import { TemplaterResult } from "./templater.utils.js";
5
- import { Tag } from "./Tag.class.js";
6
- import { TagArraySubject } from "./processTagArray.js";
7
- type ExistingSubject = Subject<Tag> | TemplaterResult | TagSubject | TagArraySubject | DisplaySubject;
8
- export declare function updateExistingValue(existing: ExistingSubject, value: TemplaterResult | Tag[] | TagSupport | Function | Subject<any>, ownerTag: Tag): void;
9
- export declare function destroyTagMemory(existingTag: Tag, existingSubject: TagSubject): void;
10
- export {};
1
+ import { TagSupport } from './TagSupport.class';
2
+ import { Subject } from './Subject';
3
+ import { TemplaterResult } from './TemplaterResult.class';
4
+ import { Tag } from './Tag.class';
5
+ import { InterpolateSubject } from './processSubjectValue.function';
6
+ import { RegularValue } from './processRegularValue.function';
7
+ export type ExistingValue = TemplaterResult | Tag[] | TagSupport | Function | Subject<unknown> | RegularValue | Tag;
8
+ export declare function updateExistingValue(subject: InterpolateSubject, value: ExistingValue, ownerTag: Tag, insertBefore: Element | Text): InterpolateSubject;
@@ -1,112 +1,81 @@
1
- import { isSubjectInstance, isTagArray, isTagComponent, isTagInstance } from "./isInstance.js";
2
- import { bindSubjectCallback } from "./bindSubjectCallback.function.js";
3
- import { destroySimpleValue, processTag } from "./processSubjectValue.function.js";
4
- import { processTagArray } from "./processTagArray.js";
5
- import { updateExistingTagComponent } from "./updateExistingTagComponent.function.js";
6
- import { updateExistingTag } from "./updateExistingTag.function.js";
7
- import { processRegularValue } from "./processRegularValue.function.js";
8
- function checkDestroyPrevious(existing, value) {
9
- const existingSubArray = existing;
10
- const wasArray = existingSubArray.lastArray;
11
- // no longer an array
12
- if (wasArray && !isTagArray(value)) {
13
- wasArray.forEach(({ tag }) => tag.destroy());
14
- delete existing.lastArray;
15
- return;
16
- }
17
- const existingTagSubject = existing;
18
- const existingTag = existingTagSubject.tag;
19
- const isValueTagComponent = isTagComponent(value);
20
- const isSimpleValue = !(isValueTagComponent || isTagArray(value) || isTagInstance(value));
21
- // no longer tag or component?
22
- if (existingTag) {
23
- // no longer a component
24
- if (isTagComponent(existingTag) && !isValueTagComponent) {
25
- destroyTagMemory(existingTag, existingTagSubject);
26
- return;
27
- }
28
- // no longer a tag
29
- if (!isTagInstance(value)) {
30
- destroyTagMemory(existingTag, existingTagSubject);
31
- return;
1
+ import { isSubjectInstance, isTagArray, isTagComponent, isTagInstance } from './isInstance';
2
+ import { applyFakeTemplater, processTag } from './processSubjectValue.function';
3
+ import { processTagArray } from './processTagArray';
4
+ import { updateExistingTagComponent } from './updateExistingTagComponent.function';
5
+ import { processRegularValue } from './processRegularValue.function';
6
+ import { checkDestroyPrevious } from './checkDestroyPrevious.function';
7
+ import { processSubjectComponent } from './processSubjectComponent.function';
8
+ import { isLikeTags } from './isLikeTags.function';
9
+ import { bindSubjectCallback } from './bindSubjectCallback.function';
10
+ export function updateExistingValue(subject, value, ownerTag, insertBefore) {
11
+ const subjectSubTag = subject;
12
+ const isComponent = isTagComponent(value);
13
+ const oldInsertBefore = subject.template || subjectSubTag.tag?.tagSupport.templater.global.insertBefore || subject.clone;
14
+ checkDestroyPrevious(subject, value);
15
+ // handle already seen tag components
16
+ if (isComponent) {
17
+ const templater = value;
18
+ // When was something before component
19
+ if (!subjectSubTag.tag) {
20
+ processSubjectComponent(templater, subject, oldInsertBefore, ownerTag, {
21
+ forceElement: true,
22
+ counts: { added: 0, removed: 0 },
23
+ });
24
+ return subjectSubTag;
32
25
  }
33
- return; // was tag and still is tag
34
- }
35
- const displaySubject = existing;
36
- const clone = displaySubject.clone;
37
- // was simple value but now something bigger
38
- if (clone && !isSimpleValue) {
39
- destroySimpleValue(displaySubject.template, displaySubject);
40
- }
41
- }
42
- export function updateExistingValue(existing, value, ownerTag) {
43
- const subjectValue = existing.value;
44
- const tempResult = value;
45
- const existingSubArray = existing;
46
- const existingSubTag = existing;
47
- checkDestroyPrevious(existing, value);
48
- // If we are working with tag component 2nd argument children, the value has to be digged
49
- if (existingSubArray.isChildSubject) {
50
- value = value.value; // A subject contains the value
26
+ updateExistingTagComponent(ownerTag, templater, // latest value
27
+ subjectSubTag, insertBefore);
28
+ return subjectSubTag;
51
29
  }
52
30
  // was component but no longer
53
- const existingTag = existingSubTag.tag;
54
- if (existingTag) {
55
- handleStillTag(existingTag, existing, value, ownerTag);
56
- return;
31
+ const subjectTag = subjectSubTag.tag;
32
+ if (subjectTag) {
33
+ handleStillTag(subjectTag, subject, value, ownerTag);
34
+ return subjectSubTag;
57
35
  }
58
36
  // its another tag array
59
37
  if (isTagArray(value)) {
60
- const insertBefore = existingSubArray.template || existingSubTag.tag?.insertBefore;
61
- processTagArray(existing, value, insertBefore, ownerTag, { counts: {
38
+ processTagArray(subject, value, oldInsertBefore, ownerTag, { counts: {
62
39
  added: 0,
63
40
  removed: 0,
64
41
  } });
65
- return;
66
- }
67
- // handle already seen tag components
68
- if (isTagComponent(tempResult)) {
69
- return updateExistingTagComponent(ownerTag, tempResult, existingSubTag, subjectValue);
42
+ return subject;
70
43
  }
71
44
  // now its a function
72
45
  if (value instanceof Function) {
73
- existingSubTag.set(bindSubjectCallback(value, ownerTag));
74
- return;
46
+ // const newSubject = getSubjectFunction(value, ownerTag)
47
+ const bound = bindSubjectCallback(value, ownerTag);
48
+ subject.set(bound);
49
+ return subject;
50
+ }
51
+ if (isTagInstance(value)) {
52
+ subjectSubTag.template = oldInsertBefore;
53
+ processTag(value, subjectSubTag, subjectSubTag.template, ownerTag);
54
+ return subjectSubTag;
75
55
  }
76
56
  // we have been given a subject
77
57
  if (isSubjectInstance(value)) {
78
- existingSubTag.set(value.value); // let ValueSubject now of newest value
79
- return;
58
+ return value;
80
59
  }
81
- existingSubTag.set(value); // let ValueSubject now of newest value
82
- return;
60
+ // This will cause all other values to render
61
+ processRegularValue(value, subject, oldInsertBefore);
62
+ return subjectSubTag;
83
63
  }
84
- function handleStillTag(existingTag, existing, value, ownerTag) {
85
- const oldWrapper = existingTag.tagSupport.templater.wrapper;
86
- const newWrapper = value?.wrapper;
87
- const wrapMatch = oldWrapper && newWrapper && oldWrapper?.original === newWrapper?.original;
64
+ function handleStillTag(existingTag, subject, value, ownerTag) {
88
65
  // TODO: We shouldn't need both of these
89
- const isSameTag = value && existingTag.lastTemplateString === value.lastTemplateString;
66
+ const isSameTag = value && isLikeTags(existingTag, value);
90
67
  const isSameTag2 = value && value.getTemplate && existingTag.isLikeTag(value);
91
- if (isSameTag || isSameTag2) {
92
- return processTag(value, existing, existing.template, ownerTag, // existingTag, // tag,
93
- {
94
- counts: {
95
- added: 0,
96
- removed: 0,
97
- }
98
- });
68
+ const tag = value;
69
+ if (!tag.tagSupport) {
70
+ applyFakeTemplater(tag, ownerTag, subject);
99
71
  }
100
- if (wrapMatch) {
101
- return updateExistingTag(value, existingTag, existing);
72
+ if (isSameTag) {
73
+ existingTag.updateByTag(tag);
74
+ return;
102
75
  }
103
- const subject = existing;
104
- return processRegularValue(value, subject, subject.template, ownerTag);
105
- }
106
- export function destroyTagMemory(existingTag, existingSubject) {
107
- delete existingSubject.tag;
108
- delete existingSubject.tagSupport;
109
- // delete subjectValue.tagSupport
110
- existingTag.destroy();
76
+ if (isSameTag || isSameTag2) {
77
+ return processTag(value, subject, subject.template, ownerTag);
78
+ }
79
+ return processRegularValue(value, subject, subject.template);
111
80
  }
112
81
  //# sourceMappingURL=updateExistingValue.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateExistingValue.function.js","sourceRoot":"","sources":["../ts/updateExistingValue.function.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAEvE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,EAAmB,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAA;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAIvE,SAAS,oBAAoB,CAC3B,QAAyB,EACzB,KAAqE;IAErE,MAAM,gBAAgB,GAAG,QAA2B,CAAA;IACpD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAA;IAE3C,qBAAqB;IACrB,IAAI,QAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;QAC1C,OAAQ,QAAgB,CAAC,SAAS,CAAA;QAClC,OAAM;IACR,CAAC;IAED,MAAM,kBAAkB,GAAG,QAAsB,CAAA;IACjD,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAA;IAC1C,MAAM,mBAAmB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;IACjD,MAAM,aAAa,GAAG,CAAC,CAAC,mBAAmB,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;IAEzF,8BAA8B;IAC9B,IAAG,WAAW,EAAE,CAAC;QACf,wBAAwB;QACxB,IAAG,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvD,gBAAgB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAA;YACjD,OAAM;QACR,CAAC;QAED,kBAAkB;QAClB,IAAG,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,gBAAgB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAA;YACjD,OAAM;QACR,CAAC;QAED,OAAM,CAAC,2BAA2B;IACpC,CAAC;IAED,MAAM,cAAc,GAAG,QAA0B,CAAA;IACjD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAA;IAClC,4CAA4C;IAC5C,IAAG,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3B,kBAAkB,CAAC,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;IAC7D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAAyB,EACzB,KAAqE,EACrE,QAAa;IAEb,MAAM,YAAY,GAAI,QAAyB,CAAC,KAAK,CAAA;IACrD,MAAM,UAAU,GAAG,KAAuB,CAAA;IAC1C,MAAM,gBAAgB,GAAG,QAA2B,CAAA;IACpD,MAAM,cAAc,GAAG,QAAsB,CAAA;IAE7C,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAErC,yFAAyF;IACzF,IAAG,gBAAgB,CAAC,cAAc,EAAE,CAAC;QACnC,KAAK,GAAI,KAAa,CAAC,KAAK,CAAA,CAAC,+BAA+B;IAC9D,CAAC;IAED,8BAA8B;IAC9B,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAA;IACtC,IAAG,WAAW,EAAE,CAAC;QACf,cAAc,CACZ,WAAkB,EAClB,QAAwC,EACxC,KAAK,EACL,QAAQ,CACT,CAAA;QAED,OAAM;IACR,CAAC;IAED,wBAAwB;IACxB,IAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,YAAY,GAAG,gBAAgB,CAAC,QAAQ,IAAI,cAAc,CAAC,GAAG,EAAE,YAAY,CAAA;QAClF,eAAe,CACb,QAA2B,EAC3B,KAAqB,EACrB,YAAY,EACZ,QAAQ,EACR,EAAC,MAAM,EAAE;gBACP,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,CAAC;aACX,EAAC,CACH,CAAA;QAED,OAAM;IACR,CAAC;IAED,qCAAqC;IACrC,IAAG,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO,0BAA0B,CAC/B,QAAQ,EACR,UAAU,EACV,cAA4B,EAC5B,YAAY,CACb,CAAA;IACH,CAAC;IAED,qBAAqB;IACrB,IAAG,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC7B,cAAc,CAAC,GAAG,CAAE,mBAAmB,CAAC,KAAY,EAAE,QAAQ,CAAC,CAAE,CAAA;QACjE,OAAM;IACR,CAAC;IAED,+BAA+B;IAC/B,IAAG,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,cAAc,CAAC,GAAG,CAAG,KAAsB,CAAC,KAAK,CAAE,CAAA,CAAC,uCAAuC;QAC3F,OAAM;IACR,CAAC;IAED,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAC,uCAAuC;IAEjE,OAAM;AACR,CAAC;AAED,SAAS,cAAc,CACrB,WAAgB,EAChB,QAAyB,EACzB,KAAqE,EACrE,QAAa;IAEb,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAA;IAC3D,MAAM,UAAU,GAAI,KAAa,EAAE,OAAO,CAAA;IAC1C,MAAM,SAAS,GAAG,UAAU,IAAI,UAAU,IAAI,UAAU,EAAE,QAAQ,KAAK,UAAU,EAAE,QAAQ,CAAA;IAE3F,wCAAwC;IACxC,MAAM,SAAS,GAAG,KAAK,IAAI,WAAW,CAAC,kBAAkB,KAAM,KAAa,CAAC,kBAAkB,CAAA;IAC/F,MAAM,UAAU,GAAG,KAAK,IAAK,KAAa,CAAC,WAAW,IAAI,WAAW,CAAC,SAAS,CAAC,KAAY,CAAC,CAAA;IAE7F,IAAG,SAAS,IAAI,UAAU,EAAE,CAAC;QAC3B,OAAO,UAAU,CACf,KAAK,EACL,QAAsB,EACrB,QAAgB,CAAC,QAAQ,EAC1B,QAAQ,EAAC,uBAAuB;QAChC;YACE,MAAM,EAAE;gBACN,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,CAAC;aACX;SACF,CACF,CAAA;IACH,CAAC;IAED,IAAG,SAAS,EAAE,CAAC;QACb,OAAO,iBAAiB,CACtB,KAAwB,EACxB,WAAW,EACX,QAAsB,CACvB,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,QAA0B,CAAA;IAC1C,OAAO,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;AACxE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,WAAgB,EAChB,eAA2B;IAE3B,OAAQ,eAAuB,CAAC,GAAG,CAAA;IACnC,OAAQ,eAAuB,CAAC,UAAU,CAAA;IAC1C,iCAAiC;IACjC,WAAW,CAAC,OAAO,EAAE,CAAA;AACvB,CAAC"}
1
+ {"version":3,"file":"updateExistingValue.function.js","sourceRoot":"","sources":["../ts/updateExistingValue.function.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import { setLet } from "./setLet.function.js";
1
+ import { setLet } from './setLet.function';
2
2
  /** When an item in watch array changes, callback function will be triggered */
3
3
  export function watch(currentValues, callback) {
4
4
  let previousValues = setLet(undefined)(x => [previousValues, previousValues = x]);
5
5
  if (previousValues === undefined) {
6
6
  callback(currentValues, previousValues);
7
- const result = { currentValues, previousValues };
7
+ // const result = {currentValues, previousValues}
8
8
  previousValues = currentValues;
9
9
  return currentValues;
10
10
  }
@@ -13,7 +13,8 @@ export function watch(currentValues, callback) {
13
13
  return currentValues;
14
14
  }
15
15
  callback(currentValues, previousValues);
16
- previousValues = currentValues;
16
+ previousValues.length = 0;
17
+ previousValues.push(...currentValues);
17
18
  return currentValues;
18
19
  }
19
20
  //# sourceMappingURL=watch.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"watch.function.js","sourceRoot":"","sources":["../ts/watch.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAO7C,+EAA+E;AAC/E,MAAM,UAAU,KAAK,CACnB,aAAkB,EAClB,QAAuB;IAEvB,IAAI,cAAc,GAAG,MAAM,CAAC,SAAkC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC,CAAA;IAE1G,IAAG,cAAc,KAAK,SAAS,EAAE,CAAC;QAChC,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;QACvC,MAAM,MAAM,GAAG,EAAC,aAAa,EAAE,cAAc,EAAC,CAAA;QAC9C,cAAc,GAAG,aAAa,CAAA;QAC9B,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAM,cAAwB,CAAC,KAAK,CAAC,CAAC,CAAA;IAEhG,IAAG,QAAQ,EAAE,CAAC;QACZ,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IACvC,cAAc,GAAG,aAAa,CAAA;IAE9B,OAAO,aAAa,CAAA;AACtB,CAAC"}
1
+ {"version":3,"file":"watch.function.js","sourceRoot":"","sources":["../ts/watch.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAO1C,+EAA+E;AAC/E,MAAM,UAAU,KAAK,CACnB,aAAkB,EAClB,QAAuB;IAEvB,IAAI,cAAc,GAAG,MAAM,CAAC,SAAkC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC,CAAA;IAE1G,IAAG,cAAc,KAAK,SAAS,EAAE,CAAC;QAChC,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;QACvC,iDAAiD;QACjD,cAAc,GAAG,aAAa,CAAA;QAC9B,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAM,cAAwB,CAAC,KAAK,CAAC,CAAC,CAAA;IAChG,IAAG,QAAQ,EAAE,CAAC;QACZ,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IACvC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAA;IACzB,cAAc,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAA;IAErC,OAAO,aAAa,CAAA;AACtB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taggedjs",
3
- "version": "2.3.30",
3
+ "version": "2.4.10",
4
4
  "description": "tagged template reactive html",
5
5
  "main": "js/index.js",
6
6
  "type": "module",
@@ -1,7 +0,0 @@
1
- export declare class CustomError extends Error {
2
- details: {
3
- errorCode: number;
4
- additionalInfo: string;
5
- };
6
- constructor(message: string, errorCode: number, additionalInfo: string);
7
- }
package/js/CustomError.js DELETED
@@ -1,9 +0,0 @@
1
- export class CustomError extends Error {
2
- details;
3
- constructor(message, errorCode, additionalInfo) {
4
- super(message);
5
- this.name = 'CustomError';
6
- this.details = { errorCode, additionalInfo };
7
- }
8
- }
9
- //# sourceMappingURL=CustomError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CustomError.js","sourceRoot":"","sources":["../ts/CustomError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,OAAO,CAGL;IAEF,YAAY,OAAe,EAAE,SAAiB,EAAE,cAAsB;QACpE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;IAC/C,CAAC;CACF"}
@@ -1,7 +0,0 @@
1
- export interface ElementTargetEvent extends Event {
2
- target: HTMLElement;
3
- }
4
- export interface InputElementTargetEvent extends Event {
5
- target: HTMLElement;
6
- value: string | null;
7
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ElementTarget.interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ElementTarget.interface.js","sourceRoot":"","sources":["../ts/ElementTarget.interface.ts"],"names":[],"mappings":""}
package/js/Errors2.d.ts DELETED
@@ -1,14 +0,0 @@
1
- export type TagErrorDetails = Record<string, unknown>;
2
- export type TagErrorFullDetails = Record<string, unknown> & {
3
- errorCode: string;
4
- };
5
- export declare class TagError extends Error {
6
- details: TagErrorFullDetails;
7
- constructor(message: string, errorCode: string, details?: Record<string, unknown>);
8
- }
9
- export declare class ArrayNoKeyError extends TagError {
10
- constructor(message: string, details?: TagErrorDetails);
11
- }
12
- export declare class StateMismatchError extends TagError {
13
- constructor(message: string, details?: TagErrorDetails);
14
- }
package/js/Errors2.js DELETED
@@ -1,21 +0,0 @@
1
- export class TagError extends Error {
2
- details;
3
- constructor(message, errorCode, details = {}) {
4
- super(message);
5
- this.name = TagError.name;
6
- this.details = { ...details, errorCode };
7
- }
8
- }
9
- export class ArrayNoKeyError extends TagError {
10
- constructor(message, details) {
11
- super(message, 'array-no-key-error', details);
12
- this.name = ArrayNoKeyError.name;
13
- }
14
- }
15
- export class StateMismatchError extends TagError {
16
- constructor(message, details) {
17
- super(message, 'state-mismatch-error', details);
18
- this.name = StateMismatchError.name;
19
- }
20
- }
21
- //# sourceMappingURL=Errors2.js.map
package/js/Errors2.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"Errors2.js","sourceRoot":"","sources":["../ts/Errors2.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,OAAO,CAAqB;IAE5B,YACE,OAAe,EACf,SAAiB,EACjB,UAAmC,EAAE;QAErC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,EAAC,GAAG,OAAO,EAAE,SAAS,EAAC,CAAA;IACxC,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAC3C,YAAY,OAAe,EAAE,OAAyB;QACpD,KAAK,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,QAAQ;IAC9C,YAAY,OAAe,EAAE,OAAyB;QACpD,KAAK,CAAC,OAAO,EAAE,sBAAsB,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;IACtC,CAAC;CACF"}
@@ -1,11 +0,0 @@
1
- import { Gateway } from "./tagGateway.utils.js";
2
- /** <tag-element id="" props="json-string" />
3
- * For Angular @NgModule({schemas: [CUSTOM_ELEMENTS_SCHEMA]}) is required
4
- */
5
- export declare class TagElement extends HTMLElement {
6
- gateway: Gateway;
7
- constructor();
8
- disconnectedCallback(): void;
9
- }
10
- /** Call me one time */
11
- export declare function initWebComponents(): void;
@@ -1,20 +0,0 @@
1
- import { checkByElement, destroyGateway } from "./tagGateway.utils.js";
2
- /** <tag-element id="" props="json-string" />
3
- * For Angular @NgModule({schemas: [CUSTOM_ELEMENTS_SCHEMA]}) is required
4
- */
5
- export class TagElement extends HTMLElement {
6
- gateway;
7
- constructor() {
8
- super();
9
- // attributes are not available right away
10
- setTimeout(() => this.gateway = checkByElement(this), 0);
11
- }
12
- disconnectedCallback() {
13
- destroyGateway(this.gateway);
14
- }
15
- }
16
- /** Call me one time */
17
- export function initWebComponents() {
18
- customElements.define('tag-element', TagElement);
19
- }
20
- //# sourceMappingURL=gateway.web.component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gateway.web.component.js","sourceRoot":"","sources":["../../ts/gateway/gateway.web.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE/E;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,WAAW;IACzC,OAAO,CAAU;IAEjB;QACE,KAAK,EAAE,CAAA;QACP,0CAA0C;QAC1C,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1D,CAAC;IAED,oBAAoB;QAClB,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9B,CAAC;CACF;AAED,uBAAuB;AACvB,MAAM,UAAU,iBAAiB;IAC/B,cAAc,CAAC,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAAA;AAClD,CAAC"}
@@ -1,3 +0,0 @@
1
- export { loadTagGateway } from "./loadTagGateway.function.js";
2
- export { initWebComponents } from "./gateway.web.component.js";
3
- export { tagGateway } from "./tagGateway.function.js";
@@ -1,4 +0,0 @@
1
- export { loadTagGateway } from "./loadTagGateway.function.js";
2
- export { initWebComponents } from "./gateway.web.component.js";
3
- export { tagGateway } from "./tagGateway.function.js";
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/gateway/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA"}
@@ -1,2 +0,0 @@
1
- import { Tag, TagChildrenInput, TagComponent } from "../index.js";
2
- export declare function loadTagGateway(component: TagComponent | ((props?: any, children?: TagChildrenInput) => Tag)): string;