taggedjs 2.5.7 → 2.5.9

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 (189) hide show
  1. package/bundle.js +8 -4
  2. package/bundle.js.map +1 -1
  3. package/js/index.d.ts +1 -0
  4. package/js/subject.types.d.ts +1 -2
  5. package/js/tag/html.d.ts +2 -1
  6. package/js/tag/html.js.map +1 -1
  7. package/js/tag/tag.js.map +1 -1
  8. package/js/tag/tagElement.d.ts +7 -0
  9. package/js/tag/tagElement.js +8 -4
  10. package/js/tag/tagElement.js.map +1 -1
  11. package/js/tag/update/updateExistingTagComponent.function.js.map +1 -1
  12. package/package.json +1 -1
  13. package/js/Clones.type.d.ts +0 -3
  14. package/js/Clones.type.js +0 -2
  15. package/js/Clones.type.js.map +0 -1
  16. package/js/ElementTargetEvent.interface.d.ts +0 -6
  17. package/js/ElementTargetEvent.interface.js +0 -2
  18. package/js/ElementTargetEvent.interface.js.map +0 -1
  19. package/js/Tag.class.d.ts +0 -37
  20. package/js/Tag.class.js +0 -21
  21. package/js/Tag.class.js.map +0 -1
  22. package/js/Tag.utils.d.ts +0 -17
  23. package/js/Tag.utils.js +0 -6
  24. package/js/Tag.utils.js.map +0 -1
  25. package/js/TagSupport.class.d.ts +0 -58
  26. package/js/TagSupport.class.js +0 -309
  27. package/js/TagSupport.class.js.map +0 -1
  28. package/js/afterInterpolateElement.function.d.ts +0 -4
  29. package/js/afterInterpolateElement.function.js +0 -14
  30. package/js/afterInterpolateElement.function.js.map +0 -1
  31. package/js/bindSubjectCallback.function.d.ts +0 -7
  32. package/js/bindSubjectCallback.function.js +0 -41
  33. package/js/bindSubjectCallback.function.js.map +0 -1
  34. package/js/checkDestroyPrevious.function.d.ts +0 -8
  35. package/js/checkDestroyPrevious.function.js +0 -83
  36. package/js/checkDestroyPrevious.function.js.map +0 -1
  37. package/js/cloneValueArray.function.d.ts +0 -2
  38. package/js/cloneValueArray.function.js +0 -19
  39. package/js/cloneValueArray.function.js.map +0 -1
  40. package/js/destroy.support.d.ts +0 -6
  41. package/js/destroy.support.js +0 -10
  42. package/js/destroy.support.js.map +0 -1
  43. package/js/destroyTag.function.d.ts +0 -4
  44. package/js/destroyTag.function.js +0 -12
  45. package/js/destroyTag.function.js.map +0 -1
  46. package/js/elementDestroyCheck.function.d.ts +0 -3
  47. package/js/elementDestroyCheck.function.js +0 -17
  48. package/js/elementDestroyCheck.function.js.map +0 -1
  49. package/js/elementInitCheck.d.ts +0 -2
  50. package/js/elementInitCheck.js +0 -18
  51. package/js/elementInitCheck.js.map +0 -1
  52. package/js/getCallback.d.ts +0 -3
  53. package/js/getCallback.js +0 -51
  54. package/js/getCallback.js.map +0 -1
  55. package/js/hasTagSupportChanged.function.d.ts +0 -7
  56. package/js/hasTagSupportChanged.function.js +0 -70
  57. package/js/hasTagSupportChanged.function.js.map +0 -1
  58. package/js/html.d.ts +0 -2
  59. package/js/html.js +0 -5
  60. package/js/html.js.map +0 -1
  61. package/js/inputAttribute.d.ts +0 -1
  62. package/js/inputAttribute.js +0 -19
  63. package/js/inputAttribute.js.map +0 -1
  64. package/js/interpolateAttributes.d.ts +0 -3
  65. package/js/interpolateAttributes.js +0 -20
  66. package/js/interpolateAttributes.js.map +0 -1
  67. package/js/interpolateContentTemplates.d.ts +0 -9
  68. package/js/interpolateContentTemplates.js +0 -42
  69. package/js/interpolateContentTemplates.js.map +0 -1
  70. package/js/interpolateElement.d.ts +0 -13
  71. package/js/interpolateElement.js +0 -36
  72. package/js/interpolateElement.js.map +0 -1
  73. package/js/interpolateTemplate.d.ts +0 -31
  74. package/js/interpolateTemplate.js +0 -89
  75. package/js/interpolateTemplate.js.map +0 -1
  76. package/js/interpolations.d.ts +0 -7
  77. package/js/interpolations.js +0 -18
  78. package/js/interpolations.js.map +0 -1
  79. package/js/isLikeTags.function.d.ts +0 -5
  80. package/js/isLikeTags.function.js +0 -42
  81. package/js/isLikeTags.function.js.map +0 -1
  82. package/js/onDestroy.d.ts +0 -2
  83. package/js/onDestroy.js +0 -17
  84. package/js/onDestroy.js.map +0 -1
  85. package/js/onInit.d.ts +0 -2
  86. package/js/onInit.js +0 -17
  87. package/js/onInit.js.map +0 -1
  88. package/js/processAttribute.function.d.ts +0 -4
  89. package/js/processAttribute.function.js +0 -122
  90. package/js/processAttribute.function.js.map +0 -1
  91. package/js/processNewValue.function.d.ts +0 -3
  92. package/js/processNewValue.function.js +0 -43
  93. package/js/processNewValue.function.js.map +0 -1
  94. package/js/processRegularValue.function.d.ts +0 -5
  95. package/js/processRegularValue.function.js +0 -15
  96. package/js/processRegularValue.function.js.map +0 -1
  97. package/js/processSubjectComponent.function.d.ts +0 -9
  98. package/js/processSubjectComponent.function.js +0 -35
  99. package/js/processSubjectComponent.function.js.map +0 -1
  100. package/js/processSubjectValue.function.d.ts +0 -25
  101. package/js/processSubjectValue.function.js +0 -55
  102. package/js/processSubjectValue.function.js.map +0 -1
  103. package/js/processTag.function.d.ts +0 -11
  104. package/js/processTag.function.js +0 -43
  105. package/js/processTag.function.js.map +0 -1
  106. package/js/processTagArray.d.ts +0 -23
  107. package/js/processTagArray.js +0 -120
  108. package/js/processTagArray.js.map +0 -1
  109. package/js/processTagResult.function.d.ts +0 -11
  110. package/js/processTagResult.function.js +0 -30
  111. package/js/processTagResult.function.js.map +0 -1
  112. package/js/propState.function.d.ts +0 -2
  113. package/js/propState.function.js +0 -3
  114. package/js/propState.function.js.map +0 -1
  115. package/js/provider.utils.d.ts +0 -2
  116. package/js/provider.utils.js +0 -45
  117. package/js/provider.utils.js.map +0 -1
  118. package/js/providers.d.ts +0 -18
  119. package/js/providers.js +0 -86
  120. package/js/providers.js.map +0 -1
  121. package/js/renderExistingTag.function.d.ts +0 -7
  122. package/js/renderExistingTag.function.js +0 -32
  123. package/js/renderExistingTag.function.js.map +0 -1
  124. package/js/renderSubjectComponent.function.d.ts +0 -3
  125. package/js/renderSubjectComponent.function.js +0 -14
  126. package/js/renderSubjectComponent.function.js.map +0 -1
  127. package/js/renderTagOnly.function.d.ts +0 -4
  128. package/js/renderTagOnly.function.js +0 -39
  129. package/js/renderTagOnly.function.js.map +0 -1
  130. package/js/renderTagSupport.function.d.ts +0 -4
  131. package/js/renderTagSupport.function.js +0 -37
  132. package/js/renderTagSupport.function.js.map +0 -1
  133. package/js/renderWithSupport.function.d.ts +0 -5
  134. package/js/renderWithSupport.function.js +0 -31
  135. package/js/renderWithSupport.function.js.map +0 -1
  136. package/js/scanTextAreaValue.function.d.ts +0 -2
  137. package/js/scanTextAreaValue.function.js +0 -16
  138. package/js/scanTextAreaValue.function.js.map +0 -1
  139. package/js/set.function.d.ts +0 -24
  140. package/js/set.function.js +0 -116
  141. package/js/set.function.js.map +0 -1
  142. package/js/setLet.function.d.ts +0 -3
  143. package/js/setLet.function.js +0 -42
  144. package/js/setLet.function.js.map +0 -1
  145. package/js/setProp.function.d.ts +0 -3
  146. package/js/setProp.function.js +0 -37
  147. package/js/setProp.function.js.map +0 -1
  148. package/js/setTagPlaceholder.function.d.ts +0 -2
  149. package/js/setTagPlaceholder.function.js +0 -8
  150. package/js/setTagPlaceholder.function.js.map +0 -1
  151. package/js/setUse.function.d.ts +0 -23
  152. package/js/setUse.function.js +0 -14
  153. package/js/setUse.function.js.map +0 -1
  154. package/js/state/getCallback.d.ts +0 -3
  155. package/js/state/getCallback.js +0 -51
  156. package/js/state/getCallback.js.map +0 -1
  157. package/js/state/setProp.function.d.ts +0 -3
  158. package/js/state/setProp.function.js +0 -37
  159. package/js/state/setProp.function.js.map +0 -1
  160. package/js/tag/updates/processNewValue.function.d.ts +0 -3
  161. package/js/tag/updates/processNewValue.function.js +0 -43
  162. package/js/tag/updates/processNewValue.function.js.map +0 -1
  163. package/js/tag.d.ts +0 -21
  164. package/js/tag.js +0 -121
  165. package/js/tag.js.map +0 -1
  166. package/js/tagElement.d.ts +0 -9
  167. package/js/tagElement.js +0 -55
  168. package/js/tagElement.js.map +0 -1
  169. package/js/tagRunner.d.ts +0 -6
  170. package/js/tagRunner.js +0 -30
  171. package/js/tagRunner.js.map +0 -1
  172. package/js/updateContextItem.function.d.ts +0 -3
  173. package/js/updateContextItem.function.js +0 -42
  174. package/js/updateContextItem.function.js.map +0 -1
  175. package/js/updateExistingTagComponent.function.d.ts +0 -5
  176. package/js/updateExistingTagComponent.function.js +0 -108
  177. package/js/updateExistingTagComponent.function.js.map +0 -1
  178. package/js/updateExistingValue.function.d.ts +0 -4
  179. package/js/updateExistingValue.function.js +0 -135
  180. package/js/updateExistingValue.function.js.map +0 -1
  181. package/js/watch.function.d.ts +0 -3
  182. package/js/watch.function.js +0 -20
  183. package/js/watch.function.js.map +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
  187. /package/js/subject/{Subject.utils.d.ts → subject.utils.d.ts} +0 -0
  188. /package/js/subject/{Subject.utils.js → subject.utils.js} +0 -0
  189. /package/js/subject/{Subject.utils.js.map → subject.utils.js.map} +0 -0
@@ -1,37 +0,0 @@
1
- import { deepEqual } from './deepFunctions';
2
- import { renderExistingTag } from './tag/render/renderExistingTag.function';
3
- /** Main function used by all other callers to render/update display of a tag component */
4
- export function renderTagSupport(tagSupport, // must be latest/newest state render
5
- renderUp) {
6
- const global = tagSupport.global;
7
- const templater = tagSupport.templater;
8
- // is it just a vanilla tag, not component?
9
- if (!templater.wrapper) { // || isTagTemplater(templater)
10
- const ownerTag = tagSupport.ownerTagSupport;
11
- ++global.renderCount;
12
- return renderTagSupport(ownerTag, true);
13
- }
14
- const subject = tagSupport.subject;
15
- let ownerSupport;
16
- let selfPropChange = false;
17
- const shouldRenderUp = renderUp && tagSupport;
18
- if (shouldRenderUp) {
19
- ownerSupport = tagSupport.ownerTagSupport;
20
- if (ownerSupport) {
21
- const nowProps = templater.props;
22
- const latestProps = tagSupport.propsConfig.latestCloned;
23
- selfPropChange = !deepEqual(nowProps, latestProps);
24
- }
25
- }
26
- const oldest = tagSupport.global.oldest;
27
- const tag = renderExistingTag(oldest, tagSupport, ownerSupport, // useTagSupport,
28
- subject);
29
- const renderOwner = ownerSupport && selfPropChange;
30
- if (renderOwner) {
31
- const ownerTagSupport = ownerSupport;
32
- renderTagSupport(ownerTagSupport, true);
33
- return tag;
34
- }
35
- return tag;
36
- }
37
- //# sourceMappingURL=renderTagSupport.function.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderTagSupport.function.js","sourceRoot":"","sources":["../ts/renderTagSupport.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAE3E,0FAA0F;AAC1F,MAAM,UAAU,gBAAgB,CAC9B,UAAsB,EAAE,qCAAqC;AAC7D,QAAiB;IAEjB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;IAChC,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;IAEtC,2CAA2C;IAE3C,IAAI,CAAC,SAAS,CAAC,OAAO,EAAG,CAAC,CAAA,gCAAgC;QACxD,MAAM,QAAQ,GAAG,UAAU,CAAC,eAA6B,CAAA;QACzD,EAAE,MAAM,CAAC,WAAW,CAAA;QACpB,OAAO,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IACzC,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;IAElC,IAAI,YAAoC,CAAA;IACxC,IAAI,cAAc,GAAG,KAAK,CAAA;IAC1B,MAAM,cAAc,GAAG,QAAQ,IAAI,UAAU,CAAA;IAE7C,IAAG,cAAc,EAAE,CAAC;QAClB,YAAY,GAAG,UAAU,CAAC,eAAe,CAAA;QACzC,IAAG,YAAY,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAY,CAAA;YACvC,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,YAAY,CAAA;YACvD,cAAc,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,MAAoB,CAAA;IACrD,MAAM,GAAG,GAAG,iBAAiB,CAC3B,MAAM,EACN,UAAU,EACV,YAA0B,EAAE,iBAAiB;IAC7C,OAAO,CACR,CAAA;IAED,MAAM,WAAW,GAAG,YAAY,IAAI,cAAc,CAAA;IAClD,IAAG,WAAW,EAAE,CAAC;QACf,MAAM,eAAe,GAAG,YAA0B,CAAA;QAElD,gBAAgB,CACd,eAAe,EACf,IAAI,CACL,CAAA;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -1,5 +0,0 @@
1
- import { TagSupport } from './tag/TagSupport.class';
2
- import { TagSubject } from './subject.types';
3
- export declare function renderWithSupport(tagSupport: TagSupport, lastSupport: TagSupport | undefined, // previous
4
- subject: TagSubject, // events & memory
5
- ownerSupport?: TagSupport): TagSupport;
@@ -1,31 +0,0 @@
1
- import { isLikeTags } from './tag/isLikeTags.function';
2
- import { destroyTagMemory } from './destroyTag.function';
3
- import { renderTagOnly } from './renderTagOnly.function';
4
- export function renderWithSupport(tagSupport, lastSupport, // previous
5
- subject, // events & memory
6
- ownerSupport) {
7
- const reSupport = renderTagOnly(tagSupport, lastSupport, subject, ownerSupport);
8
- const isLikeTag = !lastSupport || isLikeTags(lastSupport, reSupport);
9
- if (!isLikeTag) {
10
- destroyUnlikeTags(lastSupport, reSupport, subject);
11
- }
12
- const lastOwnerSupport = lastSupport?.ownerTagSupport;
13
- reSupport.ownerTagSupport = (ownerSupport || lastOwnerSupport);
14
- return reSupport;
15
- }
16
- function destroyUnlikeTags(lastSupport, // old
17
- reSupport, // new
18
- subject) {
19
- const oldGlobal = lastSupport.global;
20
- const insertBefore = oldGlobal.insertBefore;
21
- destroyTagMemory(lastSupport, subject);
22
- // when a tag is destroyed, disconnect the globals
23
- reSupport.global = { ...oldGlobal }; // break memory references
24
- const global = reSupport.global;
25
- global.insertBefore = insertBefore;
26
- global.deleted = false;
27
- delete global.oldest;
28
- delete global.newest;
29
- delete subject.tagSupport;
30
- }
31
- //# sourceMappingURL=renderWithSupport.function.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderWithSupport.function.js","sourceRoot":"","sources":["../ts/renderWithSupport.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,MAAM,UAAU,iBAAiB,CAC/B,UAAsB,EACtB,WAAmC,EAAE,WAAW;AAChD,OAAmB,EAAE,kBAAkB;AACvC,YAAyB;IAEzB,MAAM,SAAS,GAAG,aAAa,CAC7B,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,CAC/C,CAAA;IAED,MAAM,SAAS,GAAG,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IACpE,IAAG,CAAC,SAAS,EAAE,CAAC;QACd,iBAAiB,CACf,WAAW,EACX,SAAS,EACT,OAAO,CACR,CAAA;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,WAAW,EAAE,eAAe,CAAA;IACrD,SAAS,CAAC,eAAe,GAAG,CAAC,YAAY,IAAI,gBAAgB,CAAe,CAAA;IAE5E,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,iBAAiB,CACxB,WAAuB,EAAE,MAAM;AAC/B,SAAqB,EAAE,MAAM;AAC7B,OAAmB;IAEnB,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAA;IACpC,MAAM,YAAY,GAAG,SAAS,CAAC,YAAuB,CAAA;IAEtD,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAEtC,kDAAkD;IAClD,SAAS,CAAC,MAAM,GAAG,EAAC,GAAG,SAAS,EAAC,CAAA,CAAC,0BAA0B;IAC5D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAA;IAE/B,MAAM,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAA;IAEtB,OAAO,MAAM,CAAC,MAAM,CAAA;IACpB,OAAO,MAAM,CAAC,MAAM,CAAA;IACpB,OAAQ,OAAyB,CAAC,UAAU,CAAA;AAC9C,CAAC"}
@@ -1,2 +0,0 @@
1
- import { Context, Tag } from './Tag.class';
2
- export declare function scanTextAreaValue(textarea: HTMLTextAreaElement, context: Context, ownerTag: Tag): void;
@@ -1,16 +0,0 @@
1
- import { processAttribute } from './processAttribute.function';
2
- const search = new RegExp('\\s*<template interpolate end id="__tagvar(\\d{1,4})"([^>]*)></template>(\\s*)');
3
- export function scanTextAreaValue(textarea, context, ownerTag) {
4
- const value = textarea.value;
5
- if (value.search(search) >= 0) {
6
- const match = value.match(/__tagvar(\d{1,4})/);
7
- const token = match ? match[0] : '';
8
- const dynamic = '{' + token + '}';
9
- textarea.value = '';
10
- textarea.setAttribute('text-var-value', dynamic);
11
- const howToSet = (_elm, _name, value) => textarea.value = value;
12
- processAttribute('text-var-value', dynamic, // realValue, // context[token].value,
13
- textarea, context, ownerTag, howToSet);
14
- }
15
- }
16
- //# sourceMappingURL=scanTextAreaValue.function.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scanTextAreaValue.function.js","sourceRoot":"","sources":["../ts/scanTextAreaValue.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAE9D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,gFAAgF,CAAC,CAAA;AAE3G,MAAM,UAAU,iBAAiB,CAC/B,QAA6B,EAC7B,OAAgB,EAChB,QAAa;IAEb,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;IAC5B,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAG,CAAC,EAAG,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACnC,MAAM,OAAO,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,CAAA;QACjC,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAA;QACnB,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;QAEhD,MAAM,QAAQ,GAAa,CAAC,IAAI,EAAE,KAAK,EAAE,KAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;QAEjF,gBAAgB,CACd,gBAAgB,EAChB,OAAO,EAAE,sCAAsC;QAC/C,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,QAAQ,CACT,CAAA;IACH,CAAC;AACH,CAAC"}
@@ -1,24 +0,0 @@
1
- import { BaseTagSupport } from './TagSupport.class';
2
- export type StateConfig<T> = (x: T) => [T, T];
3
- export type StateConfigItem<T> = {
4
- get: () => T;
5
- callback?: StateConfig<T>;
6
- lastValue?: T;
7
- defaultValue?: T;
8
- watch?: T;
9
- };
10
- export type StateConfigArray = StateConfigItem<any>[];
11
- export type Config = {
12
- tagSupport: BaseTagSupport;
13
- array: StateConfigArray;
14
- rearray?: StateConfigArray;
15
- };
16
- export type State = {
17
- newest: StateConfigArray;
18
- };
19
- export type GetSet<T> = (y: T) => [T, T];
20
- export declare function getStateValue<T>(state: StateConfigItem<T>): T | undefined;
21
- export declare class StateEchoBack {
22
- }
23
- /** Used for variables that need to remain the same variable during render passes */
24
- export declare function set<T>(defaultValue: T | (() => T)): T;
@@ -1,116 +0,0 @@
1
- import { StateMismatchError } from './errors';
2
- import { setUse } from './setUse.function';
3
- // TODO: rename
4
- setUse.memory.stateConfig = {
5
- array: [], // state memory on the first render
6
- // rearray: [] as StateConfigArray, // state memory to be used before the next render
7
- };
8
- setUse({
9
- beforeRender: (tagSupport) => initState(tagSupport),
10
- beforeRedraw: (tagSupport) => initState(tagSupport),
11
- afterRender: (tagSupport) => {
12
- const state = tagSupport.memory.state;
13
- const config = setUse.memory.stateConfig;
14
- const rearray = config.rearray;
15
- if (rearray.length) {
16
- if (rearray.length !== config.array.length) {
17
- const message = `States lengths has changed ${rearray.length} !== ${config.array.length}. Typically occurs when a function is intended to be wrapped with a tag() call`;
18
- const details = {
19
- oldStates: config.array,
20
- newStates: config.rearray,
21
- component: tagSupport.templater?.wrapper.original,
22
- };
23
- const error = new StateMismatchError(message, details);
24
- console.warn(message, details);
25
- throw error;
26
- }
27
- }
28
- delete config.rearray; // clean up any previous runs
29
- state.newest = config.array; // [...config.array]
30
- state.newest.forEach(item => item.lastValue = getStateValue(item)); // set last values
31
- config.array = [];
32
- }
33
- });
34
- export function getStateValue(
35
- // state: StateConfig,
36
- state) {
37
- const callback = state.callback;
38
- if (!callback) {
39
- return state.defaultValue;
40
- }
41
- const oldState = callback(StateEchoBack); // get value and set to undefined
42
- const [oldValue] = oldState;
43
- const [checkValue] = callback(oldValue); // set back to original value
44
- if (checkValue !== StateEchoBack) {
45
- const message = 'State property not used correctly. Second item in array is not setting value as expected.\n\n' +
46
- 'For "let" state use `let name = state(default)(x => [name, name = x])`\n\n' +
47
- 'For "const" state use `const name = state(default)()`\n\n' +
48
- 'Problem state:\n' + (callback ? callback.toString() : JSON.stringify(state)) + '\n';
49
- console.error(message, { state, callback, oldState, oldValue, checkValue });
50
- throw new Error(message);
51
- }
52
- // state.lastValue = oldValue
53
- return oldValue;
54
- }
55
- export class StateEchoBack {
56
- }
57
- function initState(tagSupport) {
58
- const state = tagSupport.memory.state;
59
- const config = setUse.memory.stateConfig;
60
- // TODO: This guard may no longer be needed
61
- if (config.rearray) {
62
- const message = 'last state not cleared. Possibly in the middle of rendering one component and another is trying to render';
63
- console.error(message, {
64
- config,
65
- component: tagSupport.templater?.wrapper.original,
66
- wasInMiddleOf: config.tagSupport?.templater.wrapper.original,
67
- state,
68
- expectedClearArray: config.rearray,
69
- });
70
- throw new StateMismatchError(message, {
71
- config,
72
- component: tagSupport.templater?.wrapper.original,
73
- state,
74
- expectedClearArray: config.rearray,
75
- });
76
- }
77
- // TODO: this maybe redundant and not needed
78
- config.rearray = []; // .length = 0
79
- if (state?.newest.length) {
80
- state.newest.map(state => getStateValue(state));
81
- config.rearray.push(...state.newest);
82
- }
83
- config.tagSupport = tagSupport;
84
- }
85
- /** Used for variables that need to remain the same variable during render passes */
86
- export function set(defaultValue) {
87
- const config = setUse.memory.stateConfig;
88
- let getSetMethod;
89
- const rearray = config.rearray;
90
- const restate = rearray[config.array.length];
91
- if (restate) {
92
- let oldValue = getStateValue(restate);
93
- getSetMethod = ((x) => [oldValue, oldValue = x]);
94
- const push = {
95
- get: () => getStateValue(push),
96
- callback: getSetMethod,
97
- lastValue: oldValue,
98
- defaultValue: restate.defaultValue,
99
- };
100
- config.array.push(push);
101
- return oldValue;
102
- }
103
- // State first time run
104
- const defaultFn = defaultValue instanceof Function ? defaultValue : () => defaultValue;
105
- let initValue = defaultFn();
106
- getSetMethod = ((x) => [initValue, initValue = x]);
107
- const push = {
108
- get: () => getStateValue(push),
109
- callback: getSetMethod,
110
- lastValue: initValue,
111
- defaultValue: initValue,
112
- };
113
- config.array.push(push);
114
- return initValue;
115
- }
116
- //# sourceMappingURL=set.function.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"set.function.js","sourceRoot":"","sources":["../ts/set.function.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { GetSet } from './set.function';
2
- /** Used for variables that need to remain the same variable during render passes */
3
- export declare function setLet<T>(defaultValue: T | (() => T)): ((getSet: GetSet<T>) => T);
@@ -1,42 +0,0 @@
1
- import { getStateValue } from './set.function';
2
- import { setUse } from './setUse.function';
3
- /** Used for variables that need to remain the same variable during render passes */
4
- export function setLet(defaultValue) {
5
- const config = setUse.memory.stateConfig;
6
- const rearray = config.rearray;
7
- let getSetMethod;
8
- const restate = rearray[config.array.length];
9
- if (restate) {
10
- let oldValue = getStateValue(restate);
11
- getSetMethod = ((x) => [oldValue, oldValue = x]);
12
- const push = {
13
- get: () => getStateValue(push),
14
- callback: getSetMethod,
15
- lastValue: oldValue,
16
- defaultValue: restate.defaultValue,
17
- };
18
- config.array.push(push);
19
- return makeStateResult(oldValue, push);
20
- }
21
- // State first time run
22
- const defaultFn = defaultValue instanceof Function ? defaultValue : () => defaultValue;
23
- let initValue = defaultFn();
24
- getSetMethod = ((x) => [initValue, initValue = x]);
25
- const push = {
26
- get: () => getStateValue(push),
27
- callback: getSetMethod,
28
- lastValue: initValue,
29
- defaultValue: initValue,
30
- };
31
- config.array.push(push);
32
- return makeStateResult(initValue, push);
33
- }
34
- function makeStateResult(initValue, push) {
35
- // return initValue
36
- const result = (y) => {
37
- push.callback = y || (x => [initValue, initValue = x]);
38
- return initValue;
39
- };
40
- return result;
41
- }
42
- //# sourceMappingURL=setLet.function.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setLet.function.js","sourceRoot":"","sources":["../ts/setLet.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9G,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,oFAAoF;AACpF,MAAM,UAAU,MAAM,CACpB,YAA2B;IAE3B,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,WAAW,CAAA;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC,OAA2B,CAAA;IAClD,IAAI,YAA4B,CAAA;IAEhC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC5C,IAAG,OAAO,EAAE,CAAC;QACX,IAAI,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAM,CAAA;QAE1C,YAAY,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAA;QACnD,MAAM,IAAI,GAAuB;YAC/B,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAM;YACnC,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAA;QAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEvB,OAAO,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IACxC,CAAC;IAED,uBAAuB;IACvB,MAAM,SAAS,GAAG,YAAY,YAAY,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CAAA;IACtF,IAAI,SAAS,GAAG,SAAS,EAAE,CAAA;IAE3B,YAAY,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAA;IACrD,MAAM,IAAI,GAAuB;QAC/B,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAM;QACnC,QAAQ,EAAE,YAAY;QACtB,SAAS,EAAE,SAAS;QACpB,YAAY,EAAE,SAAS;KACxB,CAAA;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEvB,OAAO,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;AACzC,CAAC;AAED,SAAS,eAAe,CACtB,SAAY,EACZ,IAAwB;IAExB,mBAAmB;IACnB,MAAM,MAAM,GAAI,CAAC,CAAM,EAAE,EAAE;QACzB,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAA;QAEtD,OAAO,SAAS,CAAA;IAClB,CAAC,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1,3 +0,0 @@
1
- import { GetSet } from './set.function';
2
- /** Used for variables that need to remain the same variable during render passes */
3
- export declare function setProp<T>(getSet: GetSet<any>): T;
@@ -1,37 +0,0 @@
1
- import { getStateValue } from './set.function';
2
- import { setUse } from './setUse.function';
3
- /** Used for variables that need to remain the same variable during render passes */
4
- export function setProp(getSet) {
5
- const config = setUse.memory.stateConfig;
6
- const rearray = config.rearray;
7
- const [propValue] = getSet(undefined);
8
- getSet(propValue); // restore original value instead of undefined
9
- const restate = rearray[config.array.length];
10
- if (restate) {
11
- let watchValue = restate.watch;
12
- let oldValue = getStateValue(restate);
13
- const push = {
14
- get: () => getStateValue(push),
15
- callback: getSet,
16
- lastValue: oldValue,
17
- watch: restate.watch,
18
- };
19
- // has the prop value changed?
20
- if (propValue != watchValue) {
21
- push.watch = propValue;
22
- oldValue = push.lastValue = propValue;
23
- }
24
- config.array.push(push);
25
- getSet(oldValue);
26
- return oldValue;
27
- }
28
- const push = {
29
- get: () => getStateValue(push),
30
- callback: getSet,
31
- lastValue: propValue,
32
- watch: propValue,
33
- };
34
- config.array.push(push);
35
- return propValue;
36
- }
37
- //# sourceMappingURL=setProp.function.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setProp.function.js","sourceRoot":"","sources":["../ts/setProp.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqD,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACjG,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,oFAAoF;AACpF,MAAM,UAAU,OAAO,CACrB,MAAmB;IAEnB,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,WAAW,CAAA;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC,OAA2B,CAAA;IAElD,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,SAAc,CAAC,CAAA;IAC1C,MAAM,CAAC,SAAS,CAAC,CAAA,CAAC,8CAA8C;IAEhE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC5C,IAAG,OAAO,EAAE,CAAC;QACX,IAAI,UAAU,GAAG,OAAO,CAAC,KAAU,CAAA;QACnC,IAAI,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAM,CAAA;QAE1C,MAAM,IAAI,GAAuB;YAC/B,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAM;YACnC,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,QAAQ;YACnB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAA;QAED,8BAA8B;QAC9B,IAAG,SAAS,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA;YACtB,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QACvC,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEvB,MAAM,CAAC,QAAQ,CAAC,CAAA;QAEhB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,MAAM,IAAI,GAAuB;QAC/B,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAM;QACnC,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,SAAS;QACpB,KAAK,EAAE,SAAS;KACjB,CAAA;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEvB,OAAO,SAAS,CAAA;AAClB,CAAC"}
@@ -1,2 +0,0 @@
1
- import { TagGlobal } from './TemplaterResult.class';
2
- export declare function setTagPlaceholder(global: TagGlobal): void;
@@ -1,8 +0,0 @@
1
- export function setTagPlaceholder(global) {
2
- const insertBefore = global.insertBefore;
3
- const placeholder = global.placeholder = document.createTextNode('');
4
- const parentNode = insertBefore.parentNode;
5
- parentNode.insertBefore(placeholder, insertBefore);
6
- parentNode.removeChild(insertBefore);
7
- }
8
- //# sourceMappingURL=setTagPlaceholder.function.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setTagPlaceholder.function.js","sourceRoot":"","sources":["../ts/setTagPlaceholder.function.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,iBAAiB,CAC/B,MAAiB;IAEjB,MAAM,YAAY,GAAG,MAAM,CAAC,YAA4B,CAAA;IACxD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;IACpE,MAAM,UAAU,GAAG,YAAY,CAAC,UAAwB,CAAA;IACxD,UAAU,CAAC,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IAClD,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;AACtC,CAAC"}
@@ -1,23 +0,0 @@
1
- import { Tag } from './Tag.class';
2
- import { BaseTagSupport } from './TagSupport.class';
3
- import { Config } from './set.function';
4
- interface TagUse {
5
- beforeRender: (tagSupport: BaseTagSupport, ownerTag: Tag) => void;
6
- beforeRedraw: (tagSupport: BaseTagSupport, tag: Tag) => void;
7
- afterRender: (tagSupport: BaseTagSupport, tag: Tag) => void;
8
- beforeDestroy: (tagSupport: BaseTagSupport, tag: Tag) => void;
9
- }
10
- export type UseOptions = {
11
- beforeRender?: (tagSupport: BaseTagSupport, ownerTag: Tag) => void;
12
- beforeRedraw?: (tagSupport: BaseTagSupport, tag: Tag) => void;
13
- afterRender?: (tagSupport: BaseTagSupport, tag: Tag) => void;
14
- beforeDestroy?: (tagSupport: BaseTagSupport, tag: Tag) => void;
15
- };
16
- export declare function setUse(use: UseOptions): void;
17
- export declare namespace setUse {
18
- var tagUse: TagUse[];
19
- var memory: Record<string, any> & {
20
- stateConfig: Config;
21
- };
22
- }
23
- export {};
@@ -1,14 +0,0 @@
1
- const tagUse = [];
2
- export function setUse(use) {
3
- // must provide defaults
4
- const useMe = {
5
- beforeRender: use.beforeRender || (() => undefined),
6
- beforeRedraw: use.beforeRedraw || (() => undefined),
7
- afterRender: use.afterRender || (() => undefined),
8
- beforeDestroy: use.beforeDestroy || (() => undefined),
9
- };
10
- setUse.tagUse.push(useMe);
11
- }
12
- setUse.tagUse = tagUse;
13
- setUse.memory = {};
14
- //# sourceMappingURL=setUse.function.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setUse.function.js","sourceRoot":"","sources":["../ts/setUse.function.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,GAAa,EAAE,CAAA;AAsB3B,MAAM,UAAU,MAAM,CAAC,GAAe;IACpC,wBAAwB;IACxB,MAAM,KAAK,GAAW;QACpB,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QACnD,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QACnD,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QACjD,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;KACtD,CAAA;IAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;AACtB,MAAM,CAAC,MAAM,GAAG,EAAkD,CAAA"}
@@ -1,3 +0,0 @@
1
- type Callback = <T>(...args: unknown[]) => (T | void);
2
- export declare const getCallback: () => (callback: Callback) => () => void;
3
- export {};
@@ -1,51 +0,0 @@
1
- import { setUse } from "./setUse.function";
2
- import { getStateValue } from "./state.utils";
3
- import { renderTagSupport } from "../renderTagSupport.function";
4
- let innerCallback = (callback) => () => {
5
- throw new Error('Callback function was called immediately in sync and must instead be call async');
6
- };
7
- export const getCallback = () => innerCallback;
8
- const originalGetter = innerCallback; // getCallback
9
- setUse({
10
- beforeRender: (tagSupport) => initMemory(tagSupport),
11
- beforeRedraw: (tagSupport) => initMemory(tagSupport),
12
- afterRender: (_tagSupport) => {
13
- innerCallback = originalGetter; // prevent crossing callbacks with another tag
14
- },
15
- });
16
- function updateState(stateFrom, stateTo) {
17
- stateFrom.forEach((state, index) => {
18
- const fromValue = getStateValue(state);
19
- const callback = stateTo[index].callback;
20
- if (callback) {
21
- callback(fromValue); // set the value
22
- }
23
- stateTo[index].lastValue = fromValue; // record the value
24
- });
25
- }
26
- function initMemory(tagSupport) {
27
- const oldState = setUse.memory.stateConfig.array;
28
- innerCallback = (callback) => {
29
- const trigger = (...args) => triggerStateUpdate(tagSupport, callback, oldState, ...args);
30
- return trigger;
31
- };
32
- }
33
- function triggerStateUpdate(tagSupport, callback, oldState, ...args) {
34
- const state = tagSupport.memory.state;
35
- const newest = state.newest;
36
- // ensure that the oldest has the latest values first
37
- updateState(newest, oldState);
38
- // run the callback
39
- const promise = callback(...args);
40
- // send the oldest state changes into the newest
41
- updateState(oldState, newest);
42
- renderTagSupport(tagSupport, false);
43
- if (promise instanceof Promise) {
44
- promise.finally(() => {
45
- // send the oldest state changes into the newest
46
- updateState(oldState, newest);
47
- renderTagSupport(tagSupport, false);
48
- });
49
- }
50
- }
51
- //# sourceMappingURL=getCallback.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getCallback.js","sourceRoot":"","sources":["../../ts/state/getCallback.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAA2B,aAAa,EAAE,MAAM,eAAe,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAI/D,IAAI,aAAa,GAAG,CAAC,QAAkB,EAAE,EAAE,CAAC,GAAS,EAAE;IACrD,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAA;AACpG,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,aAAa,CAAA;AAE9C,MAAM,cAAc,GAAG,aAAa,CAAA,CAAC,cAAc;AAEnD,MAAM,CAAC;IACL,YAAY,EAAE,CAAC,UAA0B,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACpE,YAAY,EAAE,CAAC,UAA0B,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACpE,WAAW,EAAE,CAAC,WAA2B,EAAE,EAAE;QAC3C,aAAa,GAAG,cAAc,CAAA,CAAC,8CAA8C;IAC/E,CAAC;CACF,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,UAA0B;IAC7C,MAAM,QAAQ,GAAqB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAA;IAClE,aAAa,GAAG,CACd,QAAkB,EAClB,EAAE;QACF,MAAM,OAAO,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;QAC/F,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,UAA0B,EAC1B,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,gBAAgB,CACd,UAAU,EACV,KAAK,CACN,CAAA;IAED,IAAG,OAAO,YAAY,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;YACnB,gDAAgD;YAChD,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAE7B,gBAAgB,CACd,UAAU,EACV,KAAK,CACN,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
@@ -1,3 +0,0 @@
1
- import { GetSet } from './state.utils';
2
- /** Used for variables that need to remain the same variable during render passes */
3
- export declare function setProp<T>(getSet: GetSet<any>): T;
@@ -1,37 +0,0 @@
1
- import { getStateValue } from './state.utils';
2
- import { setUse } from './setUse.function';
3
- /** Used for variables that need to remain the same variable during render passes */
4
- export function setProp(getSet) {
5
- const config = setUse.memory.stateConfig;
6
- const rearray = config.rearray;
7
- const [propValue] = getSet(undefined);
8
- getSet(propValue); // restore original value instead of undefined
9
- const restate = rearray[config.array.length];
10
- if (restate) {
11
- let watchValue = restate.watch;
12
- let oldValue = getStateValue(restate);
13
- const push = {
14
- get: () => getStateValue(push),
15
- callback: getSet,
16
- lastValue: oldValue,
17
- watch: restate.watch,
18
- };
19
- // has the prop value changed?
20
- if (propValue != watchValue) {
21
- push.watch = propValue;
22
- oldValue = push.lastValue = propValue;
23
- }
24
- config.array.push(push);
25
- getSet(oldValue);
26
- return oldValue;
27
- }
28
- const push = {
29
- get: () => getStateValue(push),
30
- callback: getSet,
31
- lastValue: propValue,
32
- watch: propValue,
33
- };
34
- config.array.push(push);
35
- return propValue;
36
- }
37
- //# sourceMappingURL=setProp.function.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setProp.function.js","sourceRoot":"","sources":["../../ts/state/setProp.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,aAAa,EAAE,MAAM,eAAe,CAAA;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,oFAAoF;AACpF,MAAM,UAAU,OAAO,CACrB,MAAmB;IAEnB,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,WAAW,CAAA;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAgB,CAAA;IAEvC,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,SAAc,CAAC,CAAA;IAC1C,MAAM,CAAC,SAAS,CAAC,CAAA,CAAC,8CAA8C;IAEhE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC5C,IAAG,OAAO,EAAE,CAAC;QACX,IAAI,UAAU,GAAG,OAAO,CAAC,KAAU,CAAA;QACnC,IAAI,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAM,CAAA;QAE1C,MAAM,IAAI,GAAuB;YAC/B,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAM;YACnC,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,QAAQ;YACnB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAA;QAED,8BAA8B;QAC9B,IAAG,SAAS,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA;YACtB,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QACvC,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEvB,MAAM,CAAC,QAAQ,CAAC,CAAA;QAEhB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,MAAM,IAAI,GAAuB;QAC/B,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAM;QACnC,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,SAAS;QACpB,KAAK,EAAE,SAAS;KACjB,CAAA;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEvB,OAAO,SAAS,CAAA;AAClB,CAAC"}
@@ -1,3 +0,0 @@
1
- import { TagSupport } from '../TagSupport.class';
2
- import { InterpolateSubject, TemplateValue } from '../../processSubjectValue.function';
3
- export declare function processNewValue(hasValue: boolean, value: TemplateValue, ownerSupport: TagSupport): InterpolateSubject;
@@ -1,43 +0,0 @@
1
- import { ValueSubject } from '../../subject/ValueSubject';
2
- import { isSubjectInstance, isTagClass, isTagComponent, isTagTemplater } from '../../isInstance';
3
- import { TemplaterResult } from '../../TemplaterResult.class';
4
- import { TagSupport } from '../TagSupport.class';
5
- export function processNewValue(hasValue, value, ownerSupport) {
6
- if (isTagComponent(value)) {
7
- const tagSubject = new ValueSubject(value);
8
- return tagSubject;
9
- }
10
- if (value instanceof Function) {
11
- return new ValueSubject(value);
12
- }
13
- if (!hasValue) {
14
- return new ValueSubject(undefined);
15
- }
16
- if (isTagTemplater(value)) {
17
- const templater = value;
18
- const tag = templater.tag;
19
- return processNewTag(tag, ownerSupport);
20
- }
21
- if (isTagClass(value)) {
22
- return processNewTag(value, ownerSupport);
23
- }
24
- // is already a value subject?
25
- if (isSubjectInstance(value)) {
26
- return value;
27
- }
28
- return new ValueSubject(value);
29
- }
30
- function processNewTag(value, ownerSupport) {
31
- const tag = value;
32
- let templater = tag.templater;
33
- if (!templater) {
34
- const children = new ValueSubject([]);
35
- templater = new TemplaterResult(undefined, children);
36
- templater.tag = tag;
37
- tag.templater = templater;
38
- }
39
- const subject = new ValueSubject(templater);
40
- const tagSupport = subject.tagSupport = new TagSupport(templater, ownerSupport, subject);
41
- return subject;
42
- }
43
- //# sourceMappingURL=processNewValue.function.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processNewValue.function.js","sourceRoot":"","sources":["../../../ts/tag/updates/processNewValue.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAChG,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAIhD,MAAM,UAAU,eAAe,CAC7B,QAAiB,EACjB,KAAoB,EACpB,YAAwB;IAExB,IAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,KAAK,CAAe,CAAA;QACxD,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,IAAG,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,YAAY,CAAW,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED,IAAG,CAAC,QAAQ,EAAE,CAAC;QACb,OAAO,IAAI,YAAY,CAAY,SAAS,CAAC,CAAA;IAC/C,CAAC;IAED,IAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,KAAwB,CAAA;QAC1C,MAAM,GAAG,GAAG,SAAS,CAAC,GAAU,CAAA;QAChC,OAAO,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;IACzC,CAAC;IAED,IAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,aAAa,CAAC,KAAY,EAAE,YAAY,CAAC,CAAA;IAClD,CAAC;IAED,8BAA8B;IAC9B,IAAG,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,KAA0B,CAAA;IACnC,CAAC;IAED,OAAO,IAAI,YAAY,CAAC,KAAK,CAA8B,CAAA;AAC7D,CAAC;AAED,SAAS,aAAa,CACpB,KAAU,EACV,YAAwB;IAExB,MAAM,GAAG,GAAG,KAAY,CAAA;IAExB,IAAI,SAAS,GAAG,GAAG,CAAC,SAAS,CAAA;IAC7B,IAAG,CAAC,SAAS,EAAE,CAAC;QACd,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAW,CAAC,CAAA;QAC9C,SAAS,GAAG,IAAI,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QACpD,SAAS,CAAC,GAAG,GAAG,GAAG,CAAA;QACnB,GAAG,CAAC,SAAS,GAAG,SAAS,CAAA;IAC3B,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,SAAS,CAAe,CAAA;IAEzD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,UAAU,CACpD,SAAS,EACT,YAAY,EACZ,OAAO,CACR,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
package/js/tag.d.ts DELETED
@@ -1,21 +0,0 @@
1
- import { Tag } from './Tag.class';
2
- import { TemplaterResult } from './TemplaterResult.class';
3
- import { ValueSubject } from './subject/ValueSubject';
4
- export type TagChildren = ValueSubject<Tag[]> & {
5
- lastArray?: Tag[];
6
- };
7
- export type TagChildrenInput = Tag[] | Tag | TagChildren;
8
- export type TagComponentArg<T extends any[]> = ((...args: T) => Tag) & {
9
- lastResult?: TagWrapper<T>;
10
- };
11
- type FirstArgOptional<T extends any[]> = T['length'] extends 0 ? true : false;
12
- export type TagComponentBase<T extends any[]> = (arg: FirstArgOptional<T> extends true ? (T[0] | void) : T[0], children?: TagChildrenInput) => Tag;
13
- export declare const tags: TagComponentBase<any>[];
14
- export type TagComponent = TagComponentBase<[any?, TagChildren?]> | TagComponentBase<[]>;
15
- type TagWrapper<T> = ((props?: T | Tag | Tag[], children?: TagChildrenInput) => TemplaterResult) & {
16
- original: (...args: any[]) => any;
17
- isTag: boolean;
18
- };
19
- /** Wraps a tag component in a state manager and always push children to last argument as an array */
20
- export declare function tag<T extends any[]>(tagComponent: TagComponentArg<T>): TagComponentBase<T>;
21
- export {};