@dooboostore/dom-render 1.0.110 → 1.0.112

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 (234) hide show
  1. package/README.MD +1 -2
  2. package/dist/cjs/DomRenderProxy.js +89 -48
  3. package/dist/cjs/DomRenderProxy.js.map +2 -2
  4. package/dist/cjs/components/ComponentBase.js +47 -1
  5. package/dist/cjs/components/ComponentBase.js.map +2 -2
  6. package/dist/cjs/components/a/A.js +22 -0
  7. package/dist/cjs/components/a/A.js.map +2 -2
  8. package/dist/cjs/components/appender/Appender.js +21 -4
  9. package/dist/cjs/components/appender/Appender.js.map +2 -2
  10. package/dist/cjs/components/details/Details.js +5 -0
  11. package/dist/cjs/components/details/Details.js.map +2 -2
  12. package/dist/cjs/components/forOf/ForOf.js +2 -2
  13. package/dist/cjs/components/forOf/ForOf.js.map +1 -1
  14. package/dist/cjs/components/if/If.js +1 -1
  15. package/dist/cjs/components/if/If.js.map +2 -2
  16. package/dist/cjs/components/index.js +3 -1
  17. package/dist/cjs/components/index.js.map +3 -3
  18. package/dist/cjs/components/router/RouterOutlet.js +41 -10
  19. package/dist/cjs/components/router/RouterOutlet.js.map +2 -2
  20. package/dist/cjs/components/select/Select.js +39 -1
  21. package/dist/cjs/components/select/Select.js.map +2 -2
  22. package/dist/cjs/components/this/This.js +33 -5
  23. package/dist/cjs/components/this/This.js.map +2 -2
  24. package/dist/cjs/decorators/DomRenderNoProxy.js +3 -9
  25. package/dist/cjs/decorators/DomRenderNoProxy.js.map +2 -2
  26. package/dist/cjs/events/EventManager.js +103 -37
  27. package/dist/cjs/events/EventManager.js.map +2 -2
  28. package/dist/cjs/lifecycle/OnChangeAttrRender.js.map +1 -1
  29. package/dist/cjs/lifecycle/OnChildRawSetRendered.js +26 -0
  30. package/dist/cjs/lifecycle/OnChildRawSetRendered.js.map +7 -0
  31. package/dist/cjs/lifecycle/OnRawSetRendered.js.map +2 -2
  32. package/dist/cjs/operators/Appender.js +8 -1
  33. package/dist/cjs/operators/Appender.js.map +2 -2
  34. package/dist/cjs/operators/Dr.js +2 -2
  35. package/dist/cjs/operators/Dr.js.map +2 -2
  36. package/dist/cjs/operators/DrAppender.js +2 -2
  37. package/dist/cjs/operators/DrAppender.js.map +2 -2
  38. package/dist/cjs/operators/DrFor.js +2 -2
  39. package/dist/cjs/operators/DrFor.js.map +2 -2
  40. package/dist/cjs/operators/DrForOf.js +34 -6
  41. package/dist/cjs/operators/DrForOf.js.map +2 -2
  42. package/dist/cjs/operators/DrForm.js +6 -6
  43. package/dist/cjs/operators/DrForm.js.map +2 -2
  44. package/dist/cjs/operators/DrInnerHTML.js +2 -2
  45. package/dist/cjs/operators/DrInnerHTML.js.map +2 -2
  46. package/dist/cjs/operators/DrRepeat.js +2 -2
  47. package/dist/cjs/operators/DrRepeat.js.map +2 -2
  48. package/dist/cjs/operators/DrStripElement.js +2 -2
  49. package/dist/cjs/operators/DrStripElement.js.map +2 -2
  50. package/dist/cjs/operators/DrTargetElement.js +14 -5
  51. package/dist/cjs/operators/DrTargetElement.js.map +2 -2
  52. package/dist/cjs/operators/DrTargetElementIsElement.js +2 -2
  53. package/dist/cjs/operators/DrTargetElementIsElement.js.map +2 -2
  54. package/dist/cjs/operators/DrThis.js +2 -2
  55. package/dist/cjs/operators/DrThis.js.map +2 -2
  56. package/dist/cjs/operators/DrThisProperty.js +2 -1
  57. package/dist/cjs/operators/DrThisProperty.js.map +2 -2
  58. package/dist/cjs/rawsets/RawSet.js +87 -160
  59. package/dist/cjs/rawsets/RawSet.js.map +2 -2
  60. package/dist/cjs/routers/HashRouter.js +3 -0
  61. package/dist/cjs/routers/HashRouter.js.map +2 -2
  62. package/dist/cjs/routers/PathRouter.js +3 -0
  63. package/dist/cjs/routers/PathRouter.js.map +2 -2
  64. package/dist/cjs/routers/Router.js +25 -21
  65. package/dist/cjs/routers/Router.js.map +2 -2
  66. package/dist/esm/DomRenderProxy.js +89 -48
  67. package/dist/esm/DomRenderProxy.js.map +2 -2
  68. package/dist/esm/components/ComponentBase.js +47 -1
  69. package/dist/esm/components/ComponentBase.js.map +2 -2
  70. package/dist/esm/components/a/A.js +22 -0
  71. package/dist/esm/components/a/A.js.map +2 -2
  72. package/dist/esm/components/appender/Appender.js +22 -5
  73. package/dist/esm/components/appender/Appender.js.map +2 -2
  74. package/dist/esm/components/details/Details.js +5 -0
  75. package/dist/esm/components/details/Details.js.map +2 -2
  76. package/dist/esm/components/forOf/ForOf.js +2 -2
  77. package/dist/esm/components/forOf/ForOf.js.map +1 -1
  78. package/dist/esm/components/if/If.js +1 -1
  79. package/dist/esm/components/if/If.js.map +2 -2
  80. package/dist/esm/components/index.js +3 -1
  81. package/dist/esm/components/index.js.map +2 -2
  82. package/dist/esm/components/router/RouterOutlet.js +41 -10
  83. package/dist/esm/components/router/RouterOutlet.js.map +2 -2
  84. package/dist/esm/components/select/Select.js +39 -1
  85. package/dist/esm/components/select/Select.js.map +2 -2
  86. package/dist/esm/components/this/This.js +33 -5
  87. package/dist/esm/components/this/This.js.map +2 -2
  88. package/dist/esm/decorators/DomRenderNoProxy.js +3 -9
  89. package/dist/esm/decorators/DomRenderNoProxy.js.map +2 -2
  90. package/dist/esm/events/EventManager.js +103 -37
  91. package/dist/esm/events/EventManager.js.map +2 -2
  92. package/dist/esm/lifecycle/OnChangeAttrRender.js.map +1 -1
  93. package/dist/esm/lifecycle/OnChildRawSetRendered.js +7 -0
  94. package/dist/esm/lifecycle/OnChildRawSetRendered.js.map +7 -0
  95. package/dist/esm/lifecycle/OnRawSetRendered.js.map +2 -2
  96. package/dist/esm/operators/Appender.js +8 -1
  97. package/dist/esm/operators/Appender.js.map +2 -2
  98. package/dist/esm/operators/Dr.js +2 -2
  99. package/dist/esm/operators/Dr.js.map +2 -2
  100. package/dist/esm/operators/DrAppender.js +2 -2
  101. package/dist/esm/operators/DrAppender.js.map +2 -2
  102. package/dist/esm/operators/DrFor.js +2 -2
  103. package/dist/esm/operators/DrFor.js.map +2 -2
  104. package/dist/esm/operators/DrForOf.js +34 -6
  105. package/dist/esm/operators/DrForOf.js.map +2 -2
  106. package/dist/esm/operators/DrForm.js +6 -6
  107. package/dist/esm/operators/DrForm.js.map +2 -2
  108. package/dist/esm/operators/DrInnerHTML.js +2 -2
  109. package/dist/esm/operators/DrInnerHTML.js.map +2 -2
  110. package/dist/esm/operators/DrRepeat.js +2 -2
  111. package/dist/esm/operators/DrRepeat.js.map +2 -2
  112. package/dist/esm/operators/DrStripElement.js +2 -2
  113. package/dist/esm/operators/DrStripElement.js.map +2 -2
  114. package/dist/esm/operators/DrTargetElement.js +14 -5
  115. package/dist/esm/operators/DrTargetElement.js.map +2 -2
  116. package/dist/esm/operators/DrTargetElementIsElement.js +2 -2
  117. package/dist/esm/operators/DrTargetElementIsElement.js.map +2 -2
  118. package/dist/esm/operators/DrThis.js +2 -2
  119. package/dist/esm/operators/DrThis.js.map +2 -2
  120. package/dist/esm/operators/DrThisProperty.js +2 -1
  121. package/dist/esm/operators/DrThisProperty.js.map +2 -2
  122. package/dist/esm/rawsets/RawSet.js +87 -160
  123. package/dist/esm/rawsets/RawSet.js.map +2 -2
  124. package/dist/esm/routers/HashRouter.js +3 -0
  125. package/dist/esm/routers/HashRouter.js.map +2 -2
  126. package/dist/esm/routers/PathRouter.js +3 -0
  127. package/dist/esm/routers/PathRouter.js.map +2 -2
  128. package/dist/esm/routers/Router.js +25 -21
  129. package/dist/esm/routers/Router.js.map +2 -2
  130. package/dist/esm-bundle/dooboostore-dom-render.esm.js +830 -1533
  131. package/dist/esm-bundle/dooboostore-dom-render.esm.js.map +4 -4
  132. package/dist/types/DomRenderProxy.d.ts.map +1 -1
  133. package/dist/types/components/ComponentBase.d.ts +12 -1
  134. package/dist/types/components/ComponentBase.d.ts.map +1 -1
  135. package/dist/types/components/a/A.d.ts +6 -0
  136. package/dist/types/components/a/A.d.ts.map +1 -1
  137. package/dist/types/components/appender/Appender.d.ts +1 -0
  138. package/dist/types/components/appender/Appender.d.ts.map +1 -1
  139. package/dist/types/components/details/Details.d.ts +2 -0
  140. package/dist/types/components/details/Details.d.ts.map +1 -1
  141. package/dist/types/components/forOf/ForOf.d.ts +1 -1
  142. package/dist/types/components/forOf/ForOf.d.ts.map +1 -1
  143. package/dist/types/components/if/If.d.ts.map +1 -1
  144. package/dist/types/components/index.d.ts +1 -0
  145. package/dist/types/components/index.d.ts.map +1 -1
  146. package/dist/types/components/router/RouterOutlet.d.ts +6 -3
  147. package/dist/types/components/router/RouterOutlet.d.ts.map +1 -1
  148. package/dist/types/components/select/Select.d.ts +5 -3
  149. package/dist/types/components/select/Select.d.ts.map +1 -1
  150. package/dist/types/components/this/This.d.ts +5 -1
  151. package/dist/types/components/this/This.d.ts.map +1 -1
  152. package/dist/types/decorators/DomRenderNoProxy.d.ts.map +1 -1
  153. package/dist/types/events/EventManager.d.ts +1 -0
  154. package/dist/types/events/EventManager.d.ts.map +1 -1
  155. package/dist/types/lifecycle/OnChangeAttrRender.d.ts +1 -1
  156. package/dist/types/lifecycle/OnChangeAttrRender.d.ts.map +1 -1
  157. package/dist/types/lifecycle/OnChildRawSetRendered.d.ts +9 -0
  158. package/dist/types/lifecycle/OnChildRawSetRendered.d.ts.map +1 -0
  159. package/dist/types/lifecycle/OnRawSetRendered.d.ts +2 -0
  160. package/dist/types/lifecycle/OnRawSetRendered.d.ts.map +1 -1
  161. package/dist/types/operators/Appender.d.ts +1 -0
  162. package/dist/types/operators/Appender.d.ts.map +1 -1
  163. package/dist/types/operators/Dr.d.ts.map +1 -1
  164. package/dist/types/operators/DrAppender.d.ts.map +1 -1
  165. package/dist/types/operators/DrFor.d.ts.map +1 -1
  166. package/dist/types/operators/DrForOf.d.ts.map +1 -1
  167. package/dist/types/operators/DrForm.d.ts.map +1 -1
  168. package/dist/types/operators/DrInnerHTML.d.ts.map +1 -1
  169. package/dist/types/operators/DrRepeat.d.ts.map +1 -1
  170. package/dist/types/operators/DrStripElement.d.ts.map +1 -1
  171. package/dist/types/operators/DrTargetElement.d.ts.map +1 -1
  172. package/dist/types/operators/DrThisProperty.d.ts.map +1 -1
  173. package/dist/types/rawsets/RawSet.d.ts +4 -1
  174. package/dist/types/rawsets/RawSet.d.ts.map +1 -1
  175. package/dist/types/routers/HashRouter.d.ts +1 -0
  176. package/dist/types/routers/HashRouter.d.ts.map +1 -1
  177. package/dist/types/routers/PathRouter.d.ts +1 -0
  178. package/dist/types/routers/PathRouter.d.ts.map +1 -1
  179. package/dist/types/routers/Router.d.ts +3 -0
  180. package/dist/types/routers/Router.d.ts.map +1 -1
  181. package/dist/umd-bundle/dooboostore-dom-render.umd.js +830 -1533
  182. package/dist/umd-bundle/dooboostore-dom-render.umd.js.map +4 -4
  183. package/package.json +4 -4
  184. package/src/DomRenderProxy.ts +169 -75
  185. package/src/DomRenderProxy.ts_cache_back +1031 -0
  186. package/src/components/ComponentBase.ts +61 -5
  187. package/src/components/a/A.ts +25 -0
  188. package/src/components/appender/Appender.ts +3 -3
  189. package/src/components/details/Details.ts +7 -0
  190. package/src/components/forOf/ForOf.ts +2 -2
  191. package/src/components/if/If.ts +3 -2
  192. package/src/components/index.ts +3 -0
  193. package/src/components/router/RouterOutlet.ts +60 -22
  194. package/src/components/select/Select.ts +69 -30
  195. package/src/components/this/This.ts +41 -6
  196. package/src/decorators/DomRenderNoProxy.ts +17 -14
  197. package/src/events/EventManager.ts +180 -77
  198. package/src/lifecycle/OnChangeAttrRender.ts +1 -1
  199. package/src/lifecycle/OnChildRawSetRendered.ts +13 -0
  200. package/src/lifecycle/OnRawSetRendered.ts +3 -1
  201. package/src/operators/Appender.ts +8 -1
  202. package/src/operators/Dr.ts +2 -1
  203. package/src/operators/DrAppender.ts +2 -1
  204. package/src/operators/DrFor.ts +2 -1
  205. package/src/operators/DrForOf.ts +36 -6
  206. package/src/operators/DrForm.ts +6 -5
  207. package/src/operators/DrInnerHTML.ts +2 -1
  208. package/src/operators/DrRepeat.ts +2 -1
  209. package/src/operators/DrStripElement.ts +2 -1
  210. package/src/operators/DrTargetElement.ts +17 -5
  211. package/src/operators/DrTargetElementIsElement.ts +2 -2
  212. package/src/operators/DrThis.ts +2 -2
  213. package/src/operators/DrThisProperty.ts +2 -1
  214. package/src/rawsets/RawSet.ts +161 -237
  215. package/src/routers/HashRouter.ts +4 -0
  216. package/src/routers/PathRouter.ts +5 -0
  217. package/src/routers/Router.ts +64 -47
  218. package/src/node_modules/.bin/acorn +0 -17
  219. package/src/node_modules/.bin/browserslist +0 -17
  220. package/src/node_modules/.bin/eslint +0 -17
  221. package/src/node_modules/.bin/sbf +0 -17
  222. package/src/node_modules/.bin/ts-node +0 -17
  223. package/src/node_modules/.bin/ts-node-cwd +0 -17
  224. package/src/node_modules/.bin/ts-node-dev +0 -17
  225. package/src/node_modules/.bin/ts-node-esm +0 -17
  226. package/src/node_modules/.bin/ts-node-script +0 -17
  227. package/src/node_modules/.bin/ts-node-transpile-only +0 -17
  228. package/src/node_modules/.bin/ts-script +0 -17
  229. package/src/node_modules/.bin/tsc +0 -17
  230. package/src/node_modules/.bin/tsnd +0 -17
  231. package/src/node_modules/.bin/tsserver +0 -17
  232. package/src/node_modules/.bin/webpack +0 -17
  233. package/src/node_modules/.bin/webpack-cli +0 -17
  234. package/src/node_modules/.bin/webpack-dev-server +0 -17
@@ -30,1093 +30,8 @@ var dooboostoreDomRender = (() => {
30
30
  ));
31
31
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
32
32
 
33
- // ../../node_modules/.pnpm/reflect-metadata@0.2.2/node_modules/reflect-metadata/Reflect.js
34
- var require_Reflect = __commonJS({
35
- "../../node_modules/.pnpm/reflect-metadata@0.2.2/node_modules/reflect-metadata/Reflect.js"() {
36
- var Reflect2;
37
- (function(Reflect3) {
38
- (function(factory) {
39
- var root = typeof globalThis === "object" ? globalThis : typeof global === "object" ? global : typeof self === "object" ? self : typeof this === "object" ? this : sloppyModeThis();
40
- var exporter = makeExporter(Reflect3);
41
- if (typeof root.Reflect !== "undefined") {
42
- exporter = makeExporter(root.Reflect, exporter);
43
- }
44
- factory(exporter, root);
45
- if (typeof root.Reflect === "undefined") {
46
- root.Reflect = Reflect3;
47
- }
48
- function makeExporter(target, previous) {
49
- return function(key, value) {
50
- Object.defineProperty(target, key, { configurable: true, writable: true, value });
51
- if (previous)
52
- previous(key, value);
53
- };
54
- }
55
- function functionThis() {
56
- try {
57
- return Function("return this;")();
58
- } catch (_) {
59
- }
60
- }
61
- function indirectEvalThis() {
62
- try {
63
- return (void 0, eval)("(function() { return this; })()");
64
- } catch (_) {
65
- }
66
- }
67
- function sloppyModeThis() {
68
- return functionThis() || indirectEvalThis();
69
- }
70
- })(function(exporter, root) {
71
- var hasOwn = Object.prototype.hasOwnProperty;
72
- var supportsSymbol = typeof Symbol === "function";
73
- var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== "undefined" ? Symbol.toPrimitive : "@@toPrimitive";
74
- var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== "undefined" ? Symbol.iterator : "@@iterator";
75
- var supportsCreate = typeof Object.create === "function";
76
- var supportsProto = { __proto__: [] } instanceof Array;
77
- var downLevel = !supportsCreate && !supportsProto;
78
- var HashMap = {
79
- // create an object in dictionary mode (a.k.a. "slow" mode in v8)
80
- create: supportsCreate ? function() {
81
- return MakeDictionary(/* @__PURE__ */ Object.create(null));
82
- } : supportsProto ? function() {
83
- return MakeDictionary({ __proto__: null });
84
- } : function() {
85
- return MakeDictionary({});
86
- },
87
- has: downLevel ? function(map2, key) {
88
- return hasOwn.call(map2, key);
89
- } : function(map2, key) {
90
- return key in map2;
91
- },
92
- get: downLevel ? function(map2, key) {
93
- return hasOwn.call(map2, key) ? map2[key] : void 0;
94
- } : function(map2, key) {
95
- return map2[key];
96
- }
97
- };
98
- var functionPrototype = Object.getPrototypeOf(Function);
99
- var _Map = typeof Map === "function" && typeof Map.prototype.entries === "function" ? Map : CreateMapPolyfill();
100
- var _Set = typeof Set === "function" && typeof Set.prototype.entries === "function" ? Set : CreateSetPolyfill();
101
- var _WeakMap = typeof WeakMap === "function" ? WeakMap : CreateWeakMapPolyfill();
102
- var registrySymbol = supportsSymbol ? Symbol.for("@reflect-metadata:registry") : void 0;
103
- var metadataRegistry = GetOrCreateMetadataRegistry();
104
- var metadataProvider = CreateMetadataProvider(metadataRegistry);
105
- function decorate(decorators, target, propertyKey, attributes) {
106
- if (!IsUndefined(propertyKey)) {
107
- if (!IsArray(decorators))
108
- throw new TypeError();
109
- if (!IsObject(target))
110
- throw new TypeError();
111
- if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes))
112
- throw new TypeError();
113
- if (IsNull(attributes))
114
- attributes = void 0;
115
- propertyKey = ToPropertyKey(propertyKey);
116
- return DecorateProperty(decorators, target, propertyKey, attributes);
117
- } else {
118
- if (!IsArray(decorators))
119
- throw new TypeError();
120
- if (!IsConstructor(target))
121
- throw new TypeError();
122
- return DecorateConstructor(decorators, target);
123
- }
124
- }
125
- exporter("decorate", decorate);
126
- function metadata(metadataKey, metadataValue) {
127
- function decorator(target, propertyKey) {
128
- if (!IsObject(target))
129
- throw new TypeError();
130
- if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey))
131
- throw new TypeError();
132
- OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);
133
- }
134
- return decorator;
135
- }
136
- exporter("metadata", metadata);
137
- function defineMetadata(metadataKey, metadataValue, target, propertyKey) {
138
- if (!IsObject(target))
139
- throw new TypeError();
140
- if (!IsUndefined(propertyKey))
141
- propertyKey = ToPropertyKey(propertyKey);
142
- return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);
143
- }
144
- exporter("defineMetadata", defineMetadata);
145
- function hasMetadata(metadataKey, target, propertyKey) {
146
- if (!IsObject(target))
147
- throw new TypeError();
148
- if (!IsUndefined(propertyKey))
149
- propertyKey = ToPropertyKey(propertyKey);
150
- return OrdinaryHasMetadata(metadataKey, target, propertyKey);
151
- }
152
- exporter("hasMetadata", hasMetadata);
153
- function hasOwnMetadata(metadataKey, target, propertyKey) {
154
- if (!IsObject(target))
155
- throw new TypeError();
156
- if (!IsUndefined(propertyKey))
157
- propertyKey = ToPropertyKey(propertyKey);
158
- return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey);
159
- }
160
- exporter("hasOwnMetadata", hasOwnMetadata);
161
- function getMetadata(metadataKey, target, propertyKey) {
162
- if (!IsObject(target))
163
- throw new TypeError();
164
- if (!IsUndefined(propertyKey))
165
- propertyKey = ToPropertyKey(propertyKey);
166
- return OrdinaryGetMetadata(metadataKey, target, propertyKey);
167
- }
168
- exporter("getMetadata", getMetadata);
169
- function getOwnMetadata(metadataKey, target, propertyKey) {
170
- if (!IsObject(target))
171
- throw new TypeError();
172
- if (!IsUndefined(propertyKey))
173
- propertyKey = ToPropertyKey(propertyKey);
174
- return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey);
175
- }
176
- exporter("getOwnMetadata", getOwnMetadata);
177
- function getMetadataKeys(target, propertyKey) {
178
- if (!IsObject(target))
179
- throw new TypeError();
180
- if (!IsUndefined(propertyKey))
181
- propertyKey = ToPropertyKey(propertyKey);
182
- return OrdinaryMetadataKeys(target, propertyKey);
183
- }
184
- exporter("getMetadataKeys", getMetadataKeys);
185
- function getOwnMetadataKeys(target, propertyKey) {
186
- if (!IsObject(target))
187
- throw new TypeError();
188
- if (!IsUndefined(propertyKey))
189
- propertyKey = ToPropertyKey(propertyKey);
190
- return OrdinaryOwnMetadataKeys(target, propertyKey);
191
- }
192
- exporter("getOwnMetadataKeys", getOwnMetadataKeys);
193
- function deleteMetadata(metadataKey, target, propertyKey) {
194
- if (!IsObject(target))
195
- throw new TypeError();
196
- if (!IsUndefined(propertyKey))
197
- propertyKey = ToPropertyKey(propertyKey);
198
- if (!IsObject(target))
199
- throw new TypeError();
200
- if (!IsUndefined(propertyKey))
201
- propertyKey = ToPropertyKey(propertyKey);
202
- var provider = GetMetadataProvider(
203
- target,
204
- propertyKey,
205
- /*Create*/
206
- false
207
- );
208
- if (IsUndefined(provider))
209
- return false;
210
- return provider.OrdinaryDeleteMetadata(metadataKey, target, propertyKey);
211
- }
212
- exporter("deleteMetadata", deleteMetadata);
213
- function DecorateConstructor(decorators, target) {
214
- for (var i = decorators.length - 1; i >= 0; --i) {
215
- var decorator = decorators[i];
216
- var decorated = decorator(target);
217
- if (!IsUndefined(decorated) && !IsNull(decorated)) {
218
- if (!IsConstructor(decorated))
219
- throw new TypeError();
220
- target = decorated;
221
- }
222
- }
223
- return target;
224
- }
225
- function DecorateProperty(decorators, target, propertyKey, descriptor) {
226
- for (var i = decorators.length - 1; i >= 0; --i) {
227
- var decorator = decorators[i];
228
- var decorated = decorator(target, propertyKey, descriptor);
229
- if (!IsUndefined(decorated) && !IsNull(decorated)) {
230
- if (!IsObject(decorated))
231
- throw new TypeError();
232
- descriptor = decorated;
233
- }
234
- }
235
- return descriptor;
236
- }
237
- function OrdinaryHasMetadata(MetadataKey, O, P) {
238
- var hasOwn2 = OrdinaryHasOwnMetadata(MetadataKey, O, P);
239
- if (hasOwn2)
240
- return true;
241
- var parent = OrdinaryGetPrototypeOf(O);
242
- if (!IsNull(parent))
243
- return OrdinaryHasMetadata(MetadataKey, parent, P);
244
- return false;
245
- }
246
- function OrdinaryHasOwnMetadata(MetadataKey, O, P) {
247
- var provider = GetMetadataProvider(
248
- O,
249
- P,
250
- /*Create*/
251
- false
252
- );
253
- if (IsUndefined(provider))
254
- return false;
255
- return ToBoolean(provider.OrdinaryHasOwnMetadata(MetadataKey, O, P));
256
- }
257
- function OrdinaryGetMetadata(MetadataKey, O, P) {
258
- var hasOwn2 = OrdinaryHasOwnMetadata(MetadataKey, O, P);
259
- if (hasOwn2)
260
- return OrdinaryGetOwnMetadata(MetadataKey, O, P);
261
- var parent = OrdinaryGetPrototypeOf(O);
262
- if (!IsNull(parent))
263
- return OrdinaryGetMetadata(MetadataKey, parent, P);
264
- return void 0;
265
- }
266
- function OrdinaryGetOwnMetadata(MetadataKey, O, P) {
267
- var provider = GetMetadataProvider(
268
- O,
269
- P,
270
- /*Create*/
271
- false
272
- );
273
- if (IsUndefined(provider))
274
- return;
275
- return provider.OrdinaryGetOwnMetadata(MetadataKey, O, P);
276
- }
277
- function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {
278
- var provider = GetMetadataProvider(
279
- O,
280
- P,
281
- /*Create*/
282
- true
283
- );
284
- provider.OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P);
285
- }
286
- function OrdinaryMetadataKeys(O, P) {
287
- var ownKeys = OrdinaryOwnMetadataKeys(O, P);
288
- var parent = OrdinaryGetPrototypeOf(O);
289
- if (parent === null)
290
- return ownKeys;
291
- var parentKeys = OrdinaryMetadataKeys(parent, P);
292
- if (parentKeys.length <= 0)
293
- return ownKeys;
294
- if (ownKeys.length <= 0)
295
- return parentKeys;
296
- var set = new _Set();
297
- var keys = [];
298
- for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) {
299
- var key = ownKeys_1[_i];
300
- var hasKey = set.has(key);
301
- if (!hasKey) {
302
- set.add(key);
303
- keys.push(key);
304
- }
305
- }
306
- for (var _a2 = 0, parentKeys_1 = parentKeys; _a2 < parentKeys_1.length; _a2++) {
307
- var key = parentKeys_1[_a2];
308
- var hasKey = set.has(key);
309
- if (!hasKey) {
310
- set.add(key);
311
- keys.push(key);
312
- }
313
- }
314
- return keys;
315
- }
316
- function OrdinaryOwnMetadataKeys(O, P) {
317
- var provider = GetMetadataProvider(
318
- O,
319
- P,
320
- /*create*/
321
- false
322
- );
323
- if (!provider) {
324
- return [];
325
- }
326
- return provider.OrdinaryOwnMetadataKeys(O, P);
327
- }
328
- function Type(x) {
329
- if (x === null)
330
- return 1;
331
- switch (typeof x) {
332
- case "undefined":
333
- return 0;
334
- case "boolean":
335
- return 2;
336
- case "string":
337
- return 3;
338
- case "symbol":
339
- return 4;
340
- case "number":
341
- return 5;
342
- case "object":
343
- return x === null ? 1 : 6;
344
- default:
345
- return 6;
346
- }
347
- }
348
- function IsUndefined(x) {
349
- return x === void 0;
350
- }
351
- function IsNull(x) {
352
- return x === null;
353
- }
354
- function IsSymbol(x) {
355
- return typeof x === "symbol";
356
- }
357
- function IsObject(x) {
358
- return typeof x === "object" ? x !== null : typeof x === "function";
359
- }
360
- function ToPrimitive(input, PreferredType) {
361
- switch (Type(input)) {
362
- case 0:
363
- return input;
364
- case 1:
365
- return input;
366
- case 2:
367
- return input;
368
- case 3:
369
- return input;
370
- case 4:
371
- return input;
372
- case 5:
373
- return input;
374
- }
375
- var hint = PreferredType === 3 ? "string" : PreferredType === 5 ? "number" : "default";
376
- var exoticToPrim = GetMethod(input, toPrimitiveSymbol);
377
- if (exoticToPrim !== void 0) {
378
- var result = exoticToPrim.call(input, hint);
379
- if (IsObject(result))
380
- throw new TypeError();
381
- return result;
382
- }
383
- return OrdinaryToPrimitive(input, hint === "default" ? "number" : hint);
384
- }
385
- function OrdinaryToPrimitive(O, hint) {
386
- if (hint === "string") {
387
- var toString_1 = O.toString;
388
- if (IsCallable(toString_1)) {
389
- var result = toString_1.call(O);
390
- if (!IsObject(result))
391
- return result;
392
- }
393
- var valueOf = O.valueOf;
394
- if (IsCallable(valueOf)) {
395
- var result = valueOf.call(O);
396
- if (!IsObject(result))
397
- return result;
398
- }
399
- } else {
400
- var valueOf = O.valueOf;
401
- if (IsCallable(valueOf)) {
402
- var result = valueOf.call(O);
403
- if (!IsObject(result))
404
- return result;
405
- }
406
- var toString_2 = O.toString;
407
- if (IsCallable(toString_2)) {
408
- var result = toString_2.call(O);
409
- if (!IsObject(result))
410
- return result;
411
- }
412
- }
413
- throw new TypeError();
414
- }
415
- function ToBoolean(argument) {
416
- return !!argument;
417
- }
418
- function ToString(argument) {
419
- return "" + argument;
420
- }
421
- function ToPropertyKey(argument) {
422
- var key = ToPrimitive(
423
- argument,
424
- 3
425
- /* String */
426
- );
427
- if (IsSymbol(key))
428
- return key;
429
- return ToString(key);
430
- }
431
- function IsArray(argument) {
432
- return Array.isArray ? Array.isArray(argument) : argument instanceof Object ? argument instanceof Array : Object.prototype.toString.call(argument) === "[object Array]";
433
- }
434
- function IsCallable(argument) {
435
- return typeof argument === "function";
436
- }
437
- function IsConstructor(argument) {
438
- return typeof argument === "function";
439
- }
440
- function IsPropertyKey(argument) {
441
- switch (Type(argument)) {
442
- case 3:
443
- return true;
444
- case 4:
445
- return true;
446
- default:
447
- return false;
448
- }
449
- }
450
- function SameValueZero(x, y) {
451
- return x === y || x !== x && y !== y;
452
- }
453
- function GetMethod(V, P) {
454
- var func = V[P];
455
- if (func === void 0 || func === null)
456
- return void 0;
457
- if (!IsCallable(func))
458
- throw new TypeError();
459
- return func;
460
- }
461
- function GetIterator(obj) {
462
- var method = GetMethod(obj, iteratorSymbol);
463
- if (!IsCallable(method))
464
- throw new TypeError();
465
- var iterator = method.call(obj);
466
- if (!IsObject(iterator))
467
- throw new TypeError();
468
- return iterator;
469
- }
470
- function IteratorValue(iterResult) {
471
- return iterResult.value;
472
- }
473
- function IteratorStep(iterator) {
474
- var result = iterator.next();
475
- return result.done ? false : result;
476
- }
477
- function IteratorClose(iterator) {
478
- var f = iterator["return"];
479
- if (f)
480
- f.call(iterator);
481
- }
482
- function OrdinaryGetPrototypeOf(O) {
483
- var proto = Object.getPrototypeOf(O);
484
- if (typeof O !== "function" || O === functionPrototype)
485
- return proto;
486
- if (proto !== functionPrototype)
487
- return proto;
488
- var prototype = O.prototype;
489
- var prototypeProto = prototype && Object.getPrototypeOf(prototype);
490
- if (prototypeProto == null || prototypeProto === Object.prototype)
491
- return proto;
492
- var constructor = prototypeProto.constructor;
493
- if (typeof constructor !== "function")
494
- return proto;
495
- if (constructor === O)
496
- return proto;
497
- return constructor;
498
- }
499
- function CreateMetadataRegistry() {
500
- var fallback;
501
- if (!IsUndefined(registrySymbol) && typeof root.Reflect !== "undefined" && !(registrySymbol in root.Reflect) && typeof root.Reflect.defineMetadata === "function") {
502
- fallback = CreateFallbackProvider(root.Reflect);
503
- }
504
- var first;
505
- var second;
506
- var rest;
507
- var targetProviderMap = new _WeakMap();
508
- var registry = {
509
- registerProvider,
510
- getProvider,
511
- setProvider
512
- };
513
- return registry;
514
- function registerProvider(provider) {
515
- if (!Object.isExtensible(registry)) {
516
- throw new Error("Cannot add provider to a frozen registry.");
517
- }
518
- switch (true) {
519
- case fallback === provider:
520
- break;
521
- case IsUndefined(first):
522
- first = provider;
523
- break;
524
- case first === provider:
525
- break;
526
- case IsUndefined(second):
527
- second = provider;
528
- break;
529
- case second === provider:
530
- break;
531
- default:
532
- if (rest === void 0)
533
- rest = new _Set();
534
- rest.add(provider);
535
- break;
536
- }
537
- }
538
- function getProviderNoCache(O, P) {
539
- if (!IsUndefined(first)) {
540
- if (first.isProviderFor(O, P))
541
- return first;
542
- if (!IsUndefined(second)) {
543
- if (second.isProviderFor(O, P))
544
- return first;
545
- if (!IsUndefined(rest)) {
546
- var iterator = GetIterator(rest);
547
- while (true) {
548
- var next = IteratorStep(iterator);
549
- if (!next) {
550
- return void 0;
551
- }
552
- var provider = IteratorValue(next);
553
- if (provider.isProviderFor(O, P)) {
554
- IteratorClose(iterator);
555
- return provider;
556
- }
557
- }
558
- }
559
- }
560
- }
561
- if (!IsUndefined(fallback) && fallback.isProviderFor(O, P)) {
562
- return fallback;
563
- }
564
- return void 0;
565
- }
566
- function getProvider(O, P) {
567
- var providerMap = targetProviderMap.get(O);
568
- var provider;
569
- if (!IsUndefined(providerMap)) {
570
- provider = providerMap.get(P);
571
- }
572
- if (!IsUndefined(provider)) {
573
- return provider;
574
- }
575
- provider = getProviderNoCache(O, P);
576
- if (!IsUndefined(provider)) {
577
- if (IsUndefined(providerMap)) {
578
- providerMap = new _Map();
579
- targetProviderMap.set(O, providerMap);
580
- }
581
- providerMap.set(P, provider);
582
- }
583
- return provider;
584
- }
585
- function hasProvider(provider) {
586
- if (IsUndefined(provider))
587
- throw new TypeError();
588
- return first === provider || second === provider || !IsUndefined(rest) && rest.has(provider);
589
- }
590
- function setProvider(O, P, provider) {
591
- if (!hasProvider(provider)) {
592
- throw new Error("Metadata provider not registered.");
593
- }
594
- var existingProvider = getProvider(O, P);
595
- if (existingProvider !== provider) {
596
- if (!IsUndefined(existingProvider)) {
597
- return false;
598
- }
599
- var providerMap = targetProviderMap.get(O);
600
- if (IsUndefined(providerMap)) {
601
- providerMap = new _Map();
602
- targetProviderMap.set(O, providerMap);
603
- }
604
- providerMap.set(P, provider);
605
- }
606
- return true;
607
- }
608
- }
609
- function GetOrCreateMetadataRegistry() {
610
- var metadataRegistry2;
611
- if (!IsUndefined(registrySymbol) && IsObject(root.Reflect) && Object.isExtensible(root.Reflect)) {
612
- metadataRegistry2 = root.Reflect[registrySymbol];
613
- }
614
- if (IsUndefined(metadataRegistry2)) {
615
- metadataRegistry2 = CreateMetadataRegistry();
616
- }
617
- if (!IsUndefined(registrySymbol) && IsObject(root.Reflect) && Object.isExtensible(root.Reflect)) {
618
- Object.defineProperty(root.Reflect, registrySymbol, {
619
- enumerable: false,
620
- configurable: false,
621
- writable: false,
622
- value: metadataRegistry2
623
- });
624
- }
625
- return metadataRegistry2;
626
- }
627
- function CreateMetadataProvider(registry) {
628
- var metadata2 = new _WeakMap();
629
- var provider = {
630
- isProviderFor: function(O, P) {
631
- var targetMetadata = metadata2.get(O);
632
- if (IsUndefined(targetMetadata))
633
- return false;
634
- return targetMetadata.has(P);
635
- },
636
- OrdinaryDefineOwnMetadata: OrdinaryDefineOwnMetadata2,
637
- OrdinaryHasOwnMetadata: OrdinaryHasOwnMetadata2,
638
- OrdinaryGetOwnMetadata: OrdinaryGetOwnMetadata2,
639
- OrdinaryOwnMetadataKeys: OrdinaryOwnMetadataKeys2,
640
- OrdinaryDeleteMetadata
641
- };
642
- metadataRegistry.registerProvider(provider);
643
- return provider;
644
- function GetOrCreateMetadataMap(O, P, Create) {
645
- var targetMetadata = metadata2.get(O);
646
- var createdTargetMetadata = false;
647
- if (IsUndefined(targetMetadata)) {
648
- if (!Create)
649
- return void 0;
650
- targetMetadata = new _Map();
651
- metadata2.set(O, targetMetadata);
652
- createdTargetMetadata = true;
653
- }
654
- var metadataMap = targetMetadata.get(P);
655
- if (IsUndefined(metadataMap)) {
656
- if (!Create)
657
- return void 0;
658
- metadataMap = new _Map();
659
- targetMetadata.set(P, metadataMap);
660
- if (!registry.setProvider(O, P, provider)) {
661
- targetMetadata.delete(P);
662
- if (createdTargetMetadata) {
663
- metadata2.delete(O);
664
- }
665
- throw new Error("Wrong provider for target.");
666
- }
667
- }
668
- return metadataMap;
669
- }
670
- function OrdinaryHasOwnMetadata2(MetadataKey, O, P) {
671
- var metadataMap = GetOrCreateMetadataMap(
672
- O,
673
- P,
674
- /*Create*/
675
- false
676
- );
677
- if (IsUndefined(metadataMap))
678
- return false;
679
- return ToBoolean(metadataMap.has(MetadataKey));
680
- }
681
- function OrdinaryGetOwnMetadata2(MetadataKey, O, P) {
682
- var metadataMap = GetOrCreateMetadataMap(
683
- O,
684
- P,
685
- /*Create*/
686
- false
687
- );
688
- if (IsUndefined(metadataMap))
689
- return void 0;
690
- return metadataMap.get(MetadataKey);
691
- }
692
- function OrdinaryDefineOwnMetadata2(MetadataKey, MetadataValue, O, P) {
693
- var metadataMap = GetOrCreateMetadataMap(
694
- O,
695
- P,
696
- /*Create*/
697
- true
698
- );
699
- metadataMap.set(MetadataKey, MetadataValue);
700
- }
701
- function OrdinaryOwnMetadataKeys2(O, P) {
702
- var keys = [];
703
- var metadataMap = GetOrCreateMetadataMap(
704
- O,
705
- P,
706
- /*Create*/
707
- false
708
- );
709
- if (IsUndefined(metadataMap))
710
- return keys;
711
- var keysObj = metadataMap.keys();
712
- var iterator = GetIterator(keysObj);
713
- var k = 0;
714
- while (true) {
715
- var next = IteratorStep(iterator);
716
- if (!next) {
717
- keys.length = k;
718
- return keys;
719
- }
720
- var nextValue = IteratorValue(next);
721
- try {
722
- keys[k] = nextValue;
723
- } catch (e) {
724
- try {
725
- IteratorClose(iterator);
726
- } finally {
727
- throw e;
728
- }
729
- }
730
- k++;
731
- }
732
- }
733
- function OrdinaryDeleteMetadata(MetadataKey, O, P) {
734
- var metadataMap = GetOrCreateMetadataMap(
735
- O,
736
- P,
737
- /*Create*/
738
- false
739
- );
740
- if (IsUndefined(metadataMap))
741
- return false;
742
- if (!metadataMap.delete(MetadataKey))
743
- return false;
744
- if (metadataMap.size === 0) {
745
- var targetMetadata = metadata2.get(O);
746
- if (!IsUndefined(targetMetadata)) {
747
- targetMetadata.delete(P);
748
- if (targetMetadata.size === 0) {
749
- metadata2.delete(targetMetadata);
750
- }
751
- }
752
- }
753
- return true;
754
- }
755
- }
756
- function CreateFallbackProvider(reflect) {
757
- var defineMetadata2 = reflect.defineMetadata, hasOwnMetadata2 = reflect.hasOwnMetadata, getOwnMetadata2 = reflect.getOwnMetadata, getOwnMetadataKeys2 = reflect.getOwnMetadataKeys, deleteMetadata2 = reflect.deleteMetadata;
758
- var metadataOwner = new _WeakMap();
759
- var provider = {
760
- isProviderFor: function(O, P) {
761
- var metadataPropertySet = metadataOwner.get(O);
762
- if (!IsUndefined(metadataPropertySet) && metadataPropertySet.has(P)) {
763
- return true;
764
- }
765
- if (getOwnMetadataKeys2(O, P).length) {
766
- if (IsUndefined(metadataPropertySet)) {
767
- metadataPropertySet = new _Set();
768
- metadataOwner.set(O, metadataPropertySet);
769
- }
770
- metadataPropertySet.add(P);
771
- return true;
772
- }
773
- return false;
774
- },
775
- OrdinaryDefineOwnMetadata: defineMetadata2,
776
- OrdinaryHasOwnMetadata: hasOwnMetadata2,
777
- OrdinaryGetOwnMetadata: getOwnMetadata2,
778
- OrdinaryOwnMetadataKeys: getOwnMetadataKeys2,
779
- OrdinaryDeleteMetadata: deleteMetadata2
780
- };
781
- return provider;
782
- }
783
- function GetMetadataProvider(O, P, Create) {
784
- var registeredProvider = metadataRegistry.getProvider(O, P);
785
- if (!IsUndefined(registeredProvider)) {
786
- return registeredProvider;
787
- }
788
- if (Create) {
789
- if (metadataRegistry.setProvider(O, P, metadataProvider)) {
790
- return metadataProvider;
791
- }
792
- throw new Error("Illegal state.");
793
- }
794
- return void 0;
795
- }
796
- function CreateMapPolyfill() {
797
- var cacheSentinel = {};
798
- var arraySentinel = [];
799
- var MapIterator = (
800
- /** @class */
801
- function() {
802
- function MapIterator2(keys, values, selector) {
803
- this._index = 0;
804
- this._keys = keys;
805
- this._values = values;
806
- this._selector = selector;
807
- }
808
- MapIterator2.prototype["@@iterator"] = function() {
809
- return this;
810
- };
811
- MapIterator2.prototype[iteratorSymbol] = function() {
812
- return this;
813
- };
814
- MapIterator2.prototype.next = function() {
815
- var index = this._index;
816
- if (index >= 0 && index < this._keys.length) {
817
- var result = this._selector(this._keys[index], this._values[index]);
818
- if (index + 1 >= this._keys.length) {
819
- this._index = -1;
820
- this._keys = arraySentinel;
821
- this._values = arraySentinel;
822
- } else {
823
- this._index++;
824
- }
825
- return { value: result, done: false };
826
- }
827
- return { value: void 0, done: true };
828
- };
829
- MapIterator2.prototype.throw = function(error) {
830
- if (this._index >= 0) {
831
- this._index = -1;
832
- this._keys = arraySentinel;
833
- this._values = arraySentinel;
834
- }
835
- throw error;
836
- };
837
- MapIterator2.prototype.return = function(value) {
838
- if (this._index >= 0) {
839
- this._index = -1;
840
- this._keys = arraySentinel;
841
- this._values = arraySentinel;
842
- }
843
- return { value, done: true };
844
- };
845
- return MapIterator2;
846
- }()
847
- );
848
- var Map2 = (
849
- /** @class */
850
- function() {
851
- function Map3() {
852
- this._keys = [];
853
- this._values = [];
854
- this._cacheKey = cacheSentinel;
855
- this._cacheIndex = -2;
856
- }
857
- Object.defineProperty(Map3.prototype, "size", {
858
- get: function() {
859
- return this._keys.length;
860
- },
861
- enumerable: true,
862
- configurable: true
863
- });
864
- Map3.prototype.has = function(key) {
865
- return this._find(
866
- key,
867
- /*insert*/
868
- false
869
- ) >= 0;
870
- };
871
- Map3.prototype.get = function(key) {
872
- var index = this._find(
873
- key,
874
- /*insert*/
875
- false
876
- );
877
- return index >= 0 ? this._values[index] : void 0;
878
- };
879
- Map3.prototype.set = function(key, value) {
880
- var index = this._find(
881
- key,
882
- /*insert*/
883
- true
884
- );
885
- this._values[index] = value;
886
- return this;
887
- };
888
- Map3.prototype.delete = function(key) {
889
- var index = this._find(
890
- key,
891
- /*insert*/
892
- false
893
- );
894
- if (index >= 0) {
895
- var size = this._keys.length;
896
- for (var i = index + 1; i < size; i++) {
897
- this._keys[i - 1] = this._keys[i];
898
- this._values[i - 1] = this._values[i];
899
- }
900
- this._keys.length--;
901
- this._values.length--;
902
- if (SameValueZero(key, this._cacheKey)) {
903
- this._cacheKey = cacheSentinel;
904
- this._cacheIndex = -2;
905
- }
906
- return true;
907
- }
908
- return false;
909
- };
910
- Map3.prototype.clear = function() {
911
- this._keys.length = 0;
912
- this._values.length = 0;
913
- this._cacheKey = cacheSentinel;
914
- this._cacheIndex = -2;
915
- };
916
- Map3.prototype.keys = function() {
917
- return new MapIterator(this._keys, this._values, getKey);
918
- };
919
- Map3.prototype.values = function() {
920
- return new MapIterator(this._keys, this._values, getValue);
921
- };
922
- Map3.prototype.entries = function() {
923
- return new MapIterator(this._keys, this._values, getEntry);
924
- };
925
- Map3.prototype["@@iterator"] = function() {
926
- return this.entries();
927
- };
928
- Map3.prototype[iteratorSymbol] = function() {
929
- return this.entries();
930
- };
931
- Map3.prototype._find = function(key, insert) {
932
- if (!SameValueZero(this._cacheKey, key)) {
933
- this._cacheIndex = -1;
934
- for (var i = 0; i < this._keys.length; i++) {
935
- if (SameValueZero(this._keys[i], key)) {
936
- this._cacheIndex = i;
937
- break;
938
- }
939
- }
940
- }
941
- if (this._cacheIndex < 0 && insert) {
942
- this._cacheIndex = this._keys.length;
943
- this._keys.push(key);
944
- this._values.push(void 0);
945
- }
946
- return this._cacheIndex;
947
- };
948
- return Map3;
949
- }()
950
- );
951
- return Map2;
952
- function getKey(key, _) {
953
- return key;
954
- }
955
- function getValue(_, value) {
956
- return value;
957
- }
958
- function getEntry(key, value) {
959
- return [key, value];
960
- }
961
- }
962
- function CreateSetPolyfill() {
963
- var Set2 = (
964
- /** @class */
965
- function() {
966
- function Set3() {
967
- this._map = new _Map();
968
- }
969
- Object.defineProperty(Set3.prototype, "size", {
970
- get: function() {
971
- return this._map.size;
972
- },
973
- enumerable: true,
974
- configurable: true
975
- });
976
- Set3.prototype.has = function(value) {
977
- return this._map.has(value);
978
- };
979
- Set3.prototype.add = function(value) {
980
- return this._map.set(value, value), this;
981
- };
982
- Set3.prototype.delete = function(value) {
983
- return this._map.delete(value);
984
- };
985
- Set3.prototype.clear = function() {
986
- this._map.clear();
987
- };
988
- Set3.prototype.keys = function() {
989
- return this._map.keys();
990
- };
991
- Set3.prototype.values = function() {
992
- return this._map.keys();
993
- };
994
- Set3.prototype.entries = function() {
995
- return this._map.entries();
996
- };
997
- Set3.prototype["@@iterator"] = function() {
998
- return this.keys();
999
- };
1000
- Set3.prototype[iteratorSymbol] = function() {
1001
- return this.keys();
1002
- };
1003
- return Set3;
1004
- }()
1005
- );
1006
- return Set2;
1007
- }
1008
- function CreateWeakMapPolyfill() {
1009
- var UUID_SIZE = 16;
1010
- var keys = HashMap.create();
1011
- var rootKey = CreateUniqueKey();
1012
- return (
1013
- /** @class */
1014
- function() {
1015
- function WeakMap2() {
1016
- this._key = CreateUniqueKey();
1017
- }
1018
- WeakMap2.prototype.has = function(target) {
1019
- var table = GetOrCreateWeakMapTable(
1020
- target,
1021
- /*create*/
1022
- false
1023
- );
1024
- return table !== void 0 ? HashMap.has(table, this._key) : false;
1025
- };
1026
- WeakMap2.prototype.get = function(target) {
1027
- var table = GetOrCreateWeakMapTable(
1028
- target,
1029
- /*create*/
1030
- false
1031
- );
1032
- return table !== void 0 ? HashMap.get(table, this._key) : void 0;
1033
- };
1034
- WeakMap2.prototype.set = function(target, value) {
1035
- var table = GetOrCreateWeakMapTable(
1036
- target,
1037
- /*create*/
1038
- true
1039
- );
1040
- table[this._key] = value;
1041
- return this;
1042
- };
1043
- WeakMap2.prototype.delete = function(target) {
1044
- var table = GetOrCreateWeakMapTable(
1045
- target,
1046
- /*create*/
1047
- false
1048
- );
1049
- return table !== void 0 ? delete table[this._key] : false;
1050
- };
1051
- WeakMap2.prototype.clear = function() {
1052
- this._key = CreateUniqueKey();
1053
- };
1054
- return WeakMap2;
1055
- }()
1056
- );
1057
- function CreateUniqueKey() {
1058
- var key;
1059
- do
1060
- key = "@@WeakMap@@" + CreateUUID();
1061
- while (HashMap.has(keys, key));
1062
- keys[key] = true;
1063
- return key;
1064
- }
1065
- function GetOrCreateWeakMapTable(target, create) {
1066
- if (!hasOwn.call(target, rootKey)) {
1067
- if (!create)
1068
- return void 0;
1069
- Object.defineProperty(target, rootKey, { value: HashMap.create() });
1070
- }
1071
- return target[rootKey];
1072
- }
1073
- function FillRandomBytes(buffer, size) {
1074
- for (var i = 0; i < size; ++i)
1075
- buffer[i] = Math.random() * 255 | 0;
1076
- return buffer;
1077
- }
1078
- function GenRandomBytes(size) {
1079
- if (typeof Uint8Array === "function") {
1080
- var array = new Uint8Array(size);
1081
- if (typeof crypto !== "undefined") {
1082
- crypto.getRandomValues(array);
1083
- } else if (typeof msCrypto !== "undefined") {
1084
- msCrypto.getRandomValues(array);
1085
- } else {
1086
- FillRandomBytes(array, size);
1087
- }
1088
- return array;
1089
- }
1090
- return FillRandomBytes(new Array(size), size);
1091
- }
1092
- function CreateUUID() {
1093
- var data = GenRandomBytes(UUID_SIZE);
1094
- data[6] = data[6] & 79 | 64;
1095
- data[8] = data[8] & 191 | 128;
1096
- var result = "";
1097
- for (var offset = 0; offset < UUID_SIZE; ++offset) {
1098
- var byte = data[offset];
1099
- if (offset === 4 || offset === 6 || offset === 8)
1100
- result += "-";
1101
- if (byte < 16)
1102
- result += "0";
1103
- result += byte.toString(16).toLowerCase();
1104
- }
1105
- return result;
1106
- }
1107
- }
1108
- function MakeDictionary(obj) {
1109
- obj.__ = void 0;
1110
- delete obj.__;
1111
- return obj;
1112
- }
1113
- });
1114
- })(Reflect2 || (Reflect2 = {}));
1115
- }
1116
- });
1117
-
1118
33
  // ../../../node_modules/.pnpm/reflect-metadata@0.2.2/node_modules/reflect-metadata/Reflect.js
1119
- var require_Reflect2 = __commonJS({
34
+ var require_Reflect = __commonJS({
1120
35
  "../../../node_modules/.pnpm/reflect-metadata@0.2.2/node_modules/reflect-metadata/Reflect.js"() {
1121
36
  var Reflect2;
1122
37
  (function(Reflect3) {
@@ -3822,6 +2737,14 @@ var dooboostoreDomRender = (() => {
3822
2737
  const isConstructorLike = (fn) => {
3823
2738
  return typeof fn === "function" && typeof fn.prototype !== "undefined";
3824
2739
  };
2740
+ ValidUtils22.isUrl = (str) => {
2741
+ try {
2742
+ new URL(str);
2743
+ return true;
2744
+ } catch (_) {
2745
+ return false;
2746
+ }
2747
+ };
3825
2748
  ValidUtils22.isFrozen = (obj) => {
3826
2749
  return Object.isFrozen(obj);
3827
2750
  };
@@ -5252,57 +4175,70 @@ var dooboostoreDomRender = (() => {
5252
4175
  if (Path2.isFunctionScript(path) || Path2.isArrowFunctionScript(path)) {
5253
4176
  return path;
5254
4177
  }
5255
- if (path.includes(" ? ") && path.includes(" : ")) {
5256
- const parts = path.split(/(\s+\?\s+|\s+:\s+)/);
5257
- const result = parts.map((part, index) => {
5258
- if (index === 0) {
5259
- const tokens2 = part.match(/[^?.[\]]+|\[[^\]]*\]/g);
5260
- if (tokens2 && tokens2.length > 1) {
5261
- return tokens2.join("?.");
5262
- }
4178
+ const nullishCoalescingPlaceholder = "__NULLISH_COALESCING__";
4179
+ const hasNullishCoalescing = path.includes("??");
4180
+ let tempPath = path;
4181
+ if (hasNullishCoalescing) {
4182
+ tempPath = tempPath.replace(/\?\?/g, nullishCoalescingPlaceholder);
4183
+ }
4184
+ const ternaryMatch = tempPath.match(/\?\s+[^:]*:/);
4185
+ if (ternaryMatch) {
4186
+ const questionMarkIndex = tempPath.indexOf("?");
4187
+ const colonIndex = tempPath.indexOf(":", questionMarkIndex);
4188
+ if (questionMarkIndex !== -1 && colonIndex !== -1) {
4189
+ const charAfterQuestion = tempPath.charAt(questionMarkIndex + 1);
4190
+ if (charAfterQuestion === " " || charAfterQuestion === " " || charAfterQuestion === "\n") {
4191
+ const condition = tempPath.substring(0, questionMarkIndex).trim();
4192
+ const trueBranch = tempPath.substring(questionMarkIndex + 1, colonIndex).trim();
4193
+ const falseBranch = tempPath.substring(colonIndex + 1).trim();
4194
+ const processedCondition = Path2.toOptionalChainPath(condition);
4195
+ const processedTrueBranch = Path2.toOptionalChainPath(trueBranch);
4196
+ const processedFalseBranch = Path2.toOptionalChainPath(falseBranch);
4197
+ const finalResult = `${processedCondition} ? ${processedTrueBranch} : ${processedFalseBranch}`;
4198
+ return hasNullishCoalescing ? finalResult.replace(new RegExp(nullishCoalescingPlaceholder, "g"), "??") : finalResult;
5263
4199
  }
5264
- return part;
5265
- });
5266
- return result.join("");
4200
+ }
5267
4201
  }
5268
- if (path.includes("(")) {
4202
+ if (tempPath.includes("(")) {
5269
4203
  const functionCallMatches = [];
5270
- let tempPath = path;
4204
+ let workingPath = tempPath;
5271
4205
  let counter = 0;
5272
4206
  const functionCallRegex = /(\w+)\(([^()]*(?:\([^()]*\)[^()]*)*)\)/g;
5273
4207
  let match;
5274
- while ((match = functionCallRegex.exec(path)) !== null) {
4208
+ while ((match = functionCallRegex.exec(tempPath)) !== null) {
5275
4209
  const fullMatch = match[0];
5276
4210
  const funcName = match[1];
5277
4211
  const funcArgs = match[2];
5278
4212
  const placeholder = `__FUNC_CALL_${counter}__`;
5279
- const processedArgs = funcArgs ? Path2.toOptionalChainPath(funcArgs) : "";
4213
+ let processedArgs = funcArgs ? Path2.toOptionalChainPath(funcArgs) : "";
4214
+ processedArgs = processedArgs.replace(/\?\.\s*$/, "");
5280
4215
  const processedFuncCall = `${funcName}?.(${processedArgs})`;
5281
4216
  functionCallMatches.push({
5282
4217
  original: fullMatch,
5283
4218
  processed: processedFuncCall,
5284
4219
  placeholder
5285
4220
  });
5286
- tempPath = tempPath.replace(fullMatch, placeholder);
4221
+ workingPath = workingPath.replace(fullMatch, placeholder);
5287
4222
  counter++;
5288
4223
  }
5289
- const tokens2 = tempPath.match(/[^?.[\]]+|\[[^\]]*\]/g);
4224
+ const tokens2 = workingPath.match(/[^?.[\]]+|\[[^\]]*\]/g);
5290
4225
  let processedPath = "";
5291
4226
  if (tokens2 && tokens2.length > 1) {
5292
4227
  processedPath = tokens2.join("?.");
5293
4228
  } else {
5294
- processedPath = tempPath;
4229
+ processedPath = workingPath;
5295
4230
  }
5296
4231
  for (const funcMatch of functionCallMatches) {
5297
4232
  processedPath = processedPath.replace(funcMatch.placeholder, funcMatch.processed);
5298
4233
  }
5299
- return processedPath;
4234
+ return hasNullishCoalescing ? processedPath.replace(new RegExp(nullishCoalescingPlaceholder, "g"), "??") : processedPath;
5300
4235
  }
5301
- const tokens = path.match(/[^?.[\]]+|\[[^\]]*\]/g);
4236
+ const tokens = tempPath.match(/[^?.[\]]+|\[[^\]]*\]/g);
5302
4237
  if (!tokens) {
5303
- return path;
4238
+ return hasNullishCoalescing ? path : path;
5304
4239
  }
5305
- return tokens.join("?.");
4240
+ const result = tokens.join("?.");
4241
+ return hasNullishCoalescing ? result.replace(new RegExp(nullishCoalescingPlaceholder, "g"), "??") : result;
5306
4242
  };
5307
4243
  Path2.removeOptionalChainOperator = (path) => {
5308
4244
  if (!path) {
@@ -5615,9 +4551,19 @@ var dooboostoreDomRender = (() => {
5615
4551
  ConvertUtils22.jsonToMap = (jsonStr) => {
5616
4552
  return new Map(JSON.parse(jsonStr));
5617
4553
  };
4554
+ ConvertUtils22.toUrl = (data) => {
4555
+ try {
4556
+ return new URL(data);
4557
+ } catch (e) {
4558
+ throw new Error(`Invalid URL string: ${data}`);
4559
+ }
4560
+ };
5618
4561
  ConvertUtils22.decodeURIString = (data) => {
5619
4562
  return decodeURIComponent(data);
5620
4563
  };
4564
+ ConvertUtils22.encodeURIString = (data) => {
4565
+ return encodeURIComponent(data);
4566
+ };
5621
4567
  ConvertUtils22.objToStrMap = (obj) => {
5622
4568
  const strMap = /* @__PURE__ */ new Map();
5623
4569
  for (const k of Object.keys(obj)) {
@@ -5985,6 +4931,29 @@ var dooboostoreDomRender = (() => {
5985
4931
  ConvertUtils22.stringJsonToKeyPairs = (stringJson) => {
5986
4932
  return Array.from(stringJson.matchAll(/(\w+):\s*([^,}]+)/g)).map((match) => ({ key: match[1], value: match[2] }));
5987
4933
  };
4934
+ ConvertUtils22.stringToBase64 = (str) => {
4935
+ return btoa(str);
4936
+ };
4937
+ ConvertUtils22.uint8ArrayToBase64 = (bytes) => {
4938
+ let binary = "";
4939
+ const len = bytes.byteLength;
4940
+ for (let i = 0; i < len; i++) {
4941
+ binary += String.fromCharCode(bytes[i]);
4942
+ }
4943
+ return btoa(binary);
4944
+ };
4945
+ ConvertUtils22.base64ToString = (base64) => {
4946
+ return atob(base64);
4947
+ };
4948
+ ConvertUtils22.base64ToUint8Array = (base64) => {
4949
+ const binaryString = atob(base64);
4950
+ const len = binaryString.length;
4951
+ const bytes = new Uint8Array(len);
4952
+ for (let i = 0; i < len; i++) {
4953
+ bytes[i] = binaryString.charCodeAt(i);
4954
+ }
4955
+ return bytes;
4956
+ };
5988
4957
  })(ConvertUtils || (ConvertUtils = {}));
5989
4958
 
5990
4959
  // ../core/dist/esm/date/DateUtils.js
@@ -7930,6 +6899,29 @@ var dooboostoreDomRender = (() => {
7930
6899
  await Promise.all(executing);
7931
6900
  return results;
7932
6901
  };
6902
+ Promises2.retry = async (factory, config) => {
6903
+ const initialDelay = config.delay?.initialDelay ?? 0;
6904
+ const retryDelay = config.delay?.retryDelay ?? 0;
6905
+ if (initialDelay > 0) {
6906
+ await (0, Promises2.sleep)(initialDelay);
6907
+ }
6908
+ let lastError;
6909
+ for (let attempt = 0; attempt <= config.retry; attempt++) {
6910
+ try {
6911
+ return await factory(attempt, lastError);
6912
+ } catch (error) {
6913
+ lastError = error;
6914
+ if (attempt === config.retry) {
6915
+ break;
6916
+ }
6917
+ config.onRetry?.(error, attempt + 1);
6918
+ if (retryDelay > 0) {
6919
+ await (0, Promises2.sleep)(retryDelay);
6920
+ }
6921
+ }
6922
+ }
6923
+ throw lastError;
6924
+ };
7933
6925
  let Result;
7934
6926
  ((Result2) => {
7935
6927
  async function awaitWrap(promise) {
@@ -8224,7 +7216,7 @@ var dooboostoreDomRender = (() => {
8224
7216
  // }
8225
7217
  };
8226
7218
 
8227
- // ../core/dist/esm/message/Subscriber..js
7219
+ // ../core/dist/esm/message/Subscriber.js
8228
7220
  var Subscriber = class {
8229
7221
  constructor(destination) {
8230
7222
  this.destination = destination;
@@ -9553,7 +8545,7 @@ ${indentStr}}`;
9553
8545
  // ../core/dist/esm/schedule/Schedule.js
9554
8546
  var Schedule;
9555
8547
  ((Schedule2) => {
9556
- Schedule2.TOKEN = Symbol("Schedule");
8548
+ Schedule2.SYMBOL = Symbol("Schedule");
9557
8549
  })(Schedule || (Schedule = {}));
9558
8550
  var ScheduleBase = class {
9559
8551
  constructor() {
@@ -9580,27 +8572,28 @@ ${indentStr}}`;
9580
8572
  get isReady() {
9581
8573
  return !(this._state === "RUNNING");
9582
8574
  }
9583
- addStart(data, date = /* @__PURE__ */ new Date()) {
8575
+ addStart(input, date = /* @__PURE__ */ new Date()) {
9584
8576
  this._history ?? (this._history = []);
9585
- this._history.push({ state: "RUNNING", date, data });
8577
+ this._history.push({ state: "RUNNING", date, input });
9586
8578
  }
9587
- addError(data, date = /* @__PURE__ */ new Date()) {
8579
+ addError(input, date = /* @__PURE__ */ new Date()) {
9588
8580
  this._history ?? (this._history = []);
9589
- this._history.push({ state: "ERROR", date, data });
8581
+ this._history.push({ state: "ERROR", date, input });
9590
8582
  }
9591
- addSuccess(data, date = /* @__PURE__ */ new Date()) {
8583
+ addSuccess(input, result = void 0, date = /* @__PURE__ */ new Date()) {
9592
8584
  this._history ?? (this._history = []);
9593
- this._history.push({ state: "SUCCESS", date, data });
8585
+ this._history.push({ state: "SUCCESS", date, input, result });
9594
8586
  }
9595
8587
  async run(data) {
9596
8588
  this._state = "RUNNING";
9597
8589
  this.addStart();
9598
8590
  const startDate = /* @__PURE__ */ new Date();
8591
+ let result;
9599
8592
  try {
9600
8593
  console.log("Running schedule", this.name, startDate);
9601
- await this.execute(data);
8594
+ result = await this.execute(data);
9602
8595
  this._successCount++;
9603
- this.addSuccess();
8596
+ this.addSuccess(data, result);
9604
8597
  } catch (e) {
9605
8598
  this.addError(e);
9606
8599
  this._errorCount++;
@@ -9612,6 +8605,7 @@ ${indentStr}}`;
9612
8605
  console.log("Done schedule", this.name, endDate, endDate.getTime() - startDate.getTime());
9613
8606
  }
9614
8607
  this._state = "DONE-AND-WAITING";
8608
+ return result;
9615
8609
  }
9616
8610
  };
9617
8611
 
@@ -9702,7 +8696,7 @@ ${indentStr}}`;
9702
8696
 
9703
8697
  // ../core/dist/esm/string/StringUtils.js
9704
8698
  var StringUtils;
9705
- (function(StringUtils2) {
8699
+ ((StringUtils2) => {
9706
8700
  StringUtils2.deleteEnter = (data) => {
9707
8701
  return data.replace(/\r?\n/g, "");
9708
8702
  };
@@ -9745,8 +8739,7 @@ ${indentStr}}`;
9745
8739
  return s;
9746
8740
  };
9747
8741
  StringUtils2.unescape = (html) => {
9748
- if (!html)
9749
- return "";
8742
+ if (!html) return "";
9750
8743
  const htmlEntity = {
9751
8744
  quot: '"',
9752
8745
  amp: "&",
@@ -9796,8 +8789,7 @@ ${indentStr}}`;
9796
8789
  return formatString.replace(/\${([^{}]*)}/g, (matched, piece) => String(object[piece] ?? matched));
9797
8790
  };
9798
8791
  StringUtils2.ellipsis = (text, length) => {
9799
- if (text.length > length)
9800
- return `${text.slice(0, length)}...`;
8792
+ if (text.length > length) return `${text.slice(0, length)}...`;
9801
8793
  return text;
9802
8794
  };
9803
8795
  StringUtils2.appendPostposition = (text, { vowel, consonant }) => {
@@ -9910,7 +8902,7 @@ ${indentStr}}`;
9910
8902
  ValidUtils: () => ValidUtils2,
9911
8903
  WindowUtils: () => WindowUtils
9912
8904
  });
9913
- var import_reflect_metadata = __toESM(require_Reflect2(), 1);
8905
+ var import_reflect_metadata = __toESM(require_Reflect(), 1);
9914
8906
 
9915
8907
  // ../core/dist/esm/message/AutoCloseSubscription.js
9916
8908
  var AutoCloseSubscription = class {
@@ -10216,13 +9208,14 @@ ${indentStr}}`;
10216
9208
  ((DownloadUtils2) => {
10217
9209
  DownloadUtils2.download = (window2, url, filename = "download") => {
10218
9210
  const a = window2.document.createElement("a");
10219
- a.href = url;
9211
+ const targetUrl = typeof url === "string" ? url : URL.createObjectURL(url);
9212
+ a.href = targetUrl;
10220
9213
  a.download = filename;
10221
9214
  a.style.display = "none";
10222
9215
  window2.document.body.appendChild(a);
10223
9216
  a.click();
10224
9217
  window2.document.body.removeChild(a);
10225
- URL.revokeObjectURL(url);
9218
+ URL.revokeObjectURL(targetUrl);
10226
9219
  };
10227
9220
  DownloadUtils2.csvDownload = (window2, datas, config) => {
10228
9221
  const csv = datas.map((row) => {
@@ -10459,38 +9452,43 @@ ${indentStr}}`;
10459
9452
  })(EventUtils || (EventUtils = {}));
10460
9453
 
10461
9454
  // ../core-web/dist/esm/location/LocationUtils.js
10462
- var LocationUtils = class {
10463
- static hash(window2) {
9455
+ var LocationUtils;
9456
+ ((LocationUtils2) => {
9457
+ LocationUtils2.hash = (window2) => {
10464
9458
  return window2.location.hash.replace("#", "");
10465
- }
10466
- static hashPath(window2) {
9459
+ };
9460
+ LocationUtils2.hashPath = (window2) => {
10467
9461
  return window2.location.hash.replace("#", "").split("?")[0];
10468
- }
10469
- static hashSearch(window2) {
10470
- return window2.location.hash.replace("#", "").split("?")[1];
10471
- }
10472
- static hashQueryParams(window2) {
9462
+ };
9463
+ LocationUtils2.hashSearch = (window2) => {
9464
+ const string = window2.location.hash.replace("#", "").split("?")[1];
9465
+ return string ? `?${string}` : "";
9466
+ };
9467
+ LocationUtils2.hashQueryParams = (window2) => {
10473
9468
  const s = window2.location.hash.replace("#", "").split("?")[1] || "";
10474
- return this.queryStringToMap(s);
10475
- }
10476
- static path(window2) {
9469
+ return LocationUtils2.queryStringToMap(s);
9470
+ };
9471
+ LocationUtils2.path = (window2) => {
10477
9472
  return window2.location.pathname;
10478
- }
10479
- static pathQueryParamsObject(window2) {
10480
- return this.queryStringToObject(window2.location.search.substring(1));
10481
- }
10482
- static hashQueryParamsObject(window2) {
9473
+ };
9474
+ LocationUtils2.search = (window2) => {
9475
+ return window2.location.search || "";
9476
+ };
9477
+ LocationUtils2.pathQueryParamsObject = (window2) => {
9478
+ return LocationUtils2.queryStringToObject(window2.location.search.substring(1));
9479
+ };
9480
+ LocationUtils2.hashQueryParamsObject = (window2) => {
10483
9481
  const s = window2.location.hash.split("?").pop() ?? "";
10484
9482
  if (s.startsWith("#")) {
10485
9483
  return {};
10486
9484
  } else {
10487
- return this.queryStringToObject(s);
9485
+ return LocationUtils2.queryStringToObject(s);
10488
9486
  }
10489
- }
10490
- static pathQueryParams(window2) {
10491
- return this.queryStringToMap(window2.location.search.substring(1));
10492
- }
10493
- static queryStringToMap(s) {
9487
+ };
9488
+ LocationUtils2.pathQueryParams = (window2) => {
9489
+ return LocationUtils2.queryStringToMap(window2.location.search.substring(1));
9490
+ };
9491
+ LocationUtils2.queryStringToMap = (s) => {
10494
9492
  const params = /* @__PURE__ */ new Map();
10495
9493
  const vars = s.split("&") || [];
10496
9494
  vars.forEach((it) => {
@@ -10500,8 +9498,8 @@ ${indentStr}}`;
10500
9498
  }
10501
9499
  });
10502
9500
  return params;
10503
- }
10504
- static queryStringToObject(s) {
9501
+ };
9502
+ LocationUtils2.queryStringToObject = (s) => {
10505
9503
  const params = {};
10506
9504
  const vars = s.split("&") || [];
10507
9505
  vars.forEach((it) => {
@@ -10511,8 +9509,8 @@ ${indentStr}}`;
10511
9509
  }
10512
9510
  });
10513
9511
  return params;
10514
- }
10515
- };
9512
+ };
9513
+ })(LocationUtils || (LocationUtils = {}));
10516
9514
 
10517
9515
  // ../core-web/dist/esm/node/NodeUtils.js
10518
9516
  var NodeUtils;
@@ -10535,7 +9533,7 @@ ${indentStr}}`;
10535
9533
  NodeUtils2.replaceNode = (targetNode, newNode) => {
10536
9534
  return targetNode.parentNode?.replaceChild(newNode, targetNode);
10537
9535
  };
10538
- NodeUtils2.addNode = (targetNode, newNode) => {
9536
+ NodeUtils2.insertAfter = (targetNode, newNode) => {
10539
9537
  return targetNode.parentNode?.insertBefore(newNode, targetNode.nextSibling);
10540
9538
  };
10541
9539
  NodeUtils2.cloneNode = (element, deep) => {
@@ -11132,11 +10130,11 @@ ${indentStr}}`;
11132
10130
  findAttrElements(fragment, config) {
11133
10131
  const elements = /* @__PURE__ */ new Set();
11134
10132
  const addAttributes = config?.applyEvents?.map((it) => it.attrName) ?? [];
11135
- addAttributes.concat([..._EventManager.attrNames]).forEach((attrName) => {
11136
- fragment?.querySelectorAll(`[${attrName}]`).forEach((it) => {
11137
- elements.add(it);
11138
- });
11139
- });
10133
+ const attrs = addAttributes.concat([..._EventManager.attrNames]).filter(Boolean);
10134
+ if (attrs.length) {
10135
+ const selector = attrs.map((a) => `[${a}]`).join(",");
10136
+ fragment?.querySelectorAll(selector).forEach((it) => elements.add(it));
10137
+ }
11140
10138
  return elements;
11141
10139
  }
11142
10140
  applyEvent(obj, childNodes, config) {
@@ -11148,7 +10146,7 @@ ${indentStr}}`;
11148
10146
  this.procAttr(childNodes, _EventManager.valueAttrName, (it, attribute2) => {
11149
10147
  const script = attribute2;
11150
10148
  if (script) {
11151
- const data = ScriptUtils.evaluateReturn(script, obj);
10149
+ const data = ObjectUtils.Script.evaluateReturn(script, obj);
11152
10150
  if (it.value !== data) {
11153
10151
  it.value = data;
11154
10152
  }
@@ -11157,7 +10155,7 @@ ${indentStr}}`;
11157
10155
  this.procAttr(childNodes, _EventManager.checkedAttrName, (it, attribute2) => {
11158
10156
  const script = attribute2;
11159
10157
  if (script) {
11160
- const data = ScriptUtils.evaluateReturn(script, obj);
10158
+ const data = ObjectUtils.Script.evaluateReturn(script, obj);
11161
10159
  if (it.checked !== data) {
11162
10160
  it.checked = data;
11163
10161
  }
@@ -11166,7 +10164,7 @@ ${indentStr}}`;
11166
10164
  this.procAttr(childNodes, _EventManager.selectedAttrName, (it, attribute2) => {
11167
10165
  const script = attribute2;
11168
10166
  if (script) {
11169
- const data = ScriptUtils.evaluateReturn(script, obj);
10167
+ const data = ObjectUtils.Script.evaluateReturn(script, obj);
11170
10168
  if (it.selected !== data) {
11171
10169
  it.selected = data;
11172
10170
  }
@@ -11175,7 +10173,7 @@ ${indentStr}}`;
11175
10173
  this.procAttr(childNodes, _EventManager.readonlyAttrName, (it, attribute2) => {
11176
10174
  const script = attribute2;
11177
10175
  if (script) {
11178
- const data = ScriptUtils.evaluateReturn(script, obj);
10176
+ const data = ObjectUtils.Script.evaluateReturn(script, obj);
11179
10177
  if (it.readOnly !== data) {
11180
10178
  it.readOnly = data;
11181
10179
  }
@@ -11184,7 +10182,7 @@ ${indentStr}}`;
11184
10182
  this.procAttr(childNodes, _EventManager.disabledAttrName, (it, attribute2) => {
11185
10183
  const script = attribute2;
11186
10184
  if (script) {
11187
- const data = ScriptUtils.evaluateReturn(script, obj);
10185
+ const data = ObjectUtils.Script.evaluateReturn(script, obj);
11188
10186
  if (it.disabled !== data) {
11189
10187
  it.disabled = data;
11190
10188
  }
@@ -11193,7 +10191,7 @@ ${indentStr}}`;
11193
10191
  this.procAttr(childNodes, _EventManager.hiddenAttrName, (it, attribute2) => {
11194
10192
  const script = attribute2;
11195
10193
  if (script) {
11196
- const data = ScriptUtils.evaluateReturn(script, obj);
10194
+ const data = ObjectUtils.Script.evaluateReturn(script, obj);
11197
10195
  if (it.hidden !== data) {
11198
10196
  it.hidden = data;
11199
10197
  }
@@ -11202,7 +10200,7 @@ ${indentStr}}`;
11202
10200
  this.procAttr(childNodes, _EventManager.requiredAttrName, (it, attribute2) => {
11203
10201
  const script = attribute2;
11204
10202
  if (script) {
11205
- const data = ScriptUtils.evaluateReturn(script, obj);
10203
+ const data = ObjectUtils.Script.evaluateReturn(script, obj);
11206
10204
  if (it.required !== data) {
11207
10205
  it.required = data;
11208
10206
  }
@@ -11211,7 +10209,7 @@ ${indentStr}}`;
11211
10209
  this.procAttr(childNodes, _EventManager.openAttrName, (it, attribute2) => {
11212
10210
  const script = attribute2;
11213
10211
  if (script) {
11214
- const data = ScriptUtils.evaluateReturn(script, obj);
10212
+ const data = ObjectUtils.Script.evaluateReturn(script, obj);
11215
10213
  if (it.open !== data) {
11216
10214
  it.open = data;
11217
10215
  }
@@ -11222,17 +10220,27 @@ ${indentStr}}`;
11222
10220
  map2.forEach((v, k) => {
11223
10221
  const variablePaths = v.variablePaths;
11224
10222
  let targetScript = v.originalAttrValue;
11225
- variablePaths.forEach((it2) => {
11226
- let r = ObjectUtils.Path.toOptionalChainPath(it2.inner);
11227
- targetScript = targetScript.replaceAll(it2.origin, `\${${r}}`);
11228
- });
11229
- const data = ObjectUtils.Script.evaluate(`const $element = this.element; return ${"`" + targetScript + "`"} `, Object.assign(obj, {
10223
+ let script;
10224
+ if (v.isStringTemplate) {
10225
+ variablePaths.forEach((it2) => {
10226
+ let r = ObjectUtils.Path.toOptionalChainPath(it2.inner);
10227
+ targetScript = targetScript.replaceAll(it2.origin, `\${${r}}`);
10228
+ });
10229
+ script = "`" + targetScript + "`";
10230
+ } else {
10231
+ variablePaths.forEach((it2) => {
10232
+ let r = ObjectUtils.Path.toOptionalChainPath(it2.inner);
10233
+ targetScript = targetScript.replaceAll(it2.origin, `${r}`);
10234
+ });
10235
+ script = targetScript;
10236
+ }
10237
+ const data = ObjectUtils.Script.evaluate(`const $element = this.element; return ${script}`, Object.assign(obj, {
11230
10238
  __render: Object.freeze({
11231
10239
  element: it,
11232
10240
  attribute: ElementUtils.getAttributeToObject(it)
11233
10241
  })
11234
10242
  }));
11235
- if (data === null) {
10243
+ if (data === null || data === void 0) {
11236
10244
  it.removeAttribute(k);
11237
10245
  } else {
11238
10246
  it.setAttribute(k, data);
@@ -11251,19 +10259,19 @@ ${indentStr}}`;
11251
10259
  const mapScript = it.getAttribute(`${linkInfo.name}:map`);
11252
10260
  let bindObj = obj;
11253
10261
  if (ownerVariablePathName) {
11254
- bindObj = ScriptUtils.evaluateReturn(ownerVariablePathName, obj);
10262
+ bindObj = ObjectUtils.Script.evaluateReturn(ownerVariablePathName, obj);
11255
10263
  }
11256
10264
  const getValue = this.getValue(obj, varName, bindObj);
11257
10265
  if (typeof getValue === "function" && getValue) {
11258
10266
  let setValue = it[linkInfo.property];
11259
10267
  if (mapScript) {
11260
- setValue = ScriptUtils.evaluate(`${this.getBindScript(config)} return ${mapScript}`, Object.assign(bindObj, { __render: Object.freeze({ element: it, target: bindObj, range: Range2.range, value: setValue, scripts: _EventManager.setBindProperty(config?.scripts, obj), ...config?.eventVariables }) }));
10268
+ setValue = ObjectUtils.Script.evaluate(`${this.getBindScript(config)} return ${mapScript}`, Object.assign(bindObj, { __render: Object.freeze({ element: it, target: bindObj, range: Range2.range, value: setValue, scripts: _EventManager.setBindProperty(config?.scripts, obj), ...config?.eventVariables }) }));
11261
10269
  }
11262
10270
  getValue(setValue);
11263
10271
  } else if (getValue) {
11264
10272
  let setValue = getValue;
11265
10273
  if (mapScript) {
11266
- setValue = ScriptUtils.evaluate(`${this.getBindScript(config)} return ${mapScript}`, Object.assign(bindObj, { __render: Object.freeze({ element: it, target: bindObj, range: Range2.range, value: setValue, scripts: _EventManager.setBindProperty(config?.scripts, obj), ...config?.eventVariables }) }));
10274
+ setValue = ObjectUtils.Script.evaluate(`${this.getBindScript(config)} return ${mapScript}`, Object.assign(bindObj, { __render: Object.freeze({ element: it, target: bindObj, range: Range2.range, value: setValue, scripts: _EventManager.setBindProperty(config?.scripts, obj), ...config?.eventVariables }) }));
11267
10275
  }
11268
10276
  if (setValue === null) {
11269
10277
  it.removeAttribute(linkInfo.property);
@@ -11286,10 +10294,10 @@ ${indentStr}}`;
11286
10294
  const filterScript = element.getAttribute(`${attr}:filter`);
11287
10295
  let filter = true;
11288
10296
  if (filterScript) {
11289
- filter = ScriptUtils.evaluate(`${this.getBindScript(config)} return ${filterScript}`, context) ?? false;
10297
+ filter = ObjectUtils.Script.evaluate(`${this.getBindScript(config)} return ${filterScript}`, context) ?? false;
11290
10298
  }
11291
10299
  if (filter) {
11292
- ScriptUtils.evaluate(`${this.getBindScript(config)} ${script}`, context);
10300
+ ObjectUtils.Script.evaluate(`${this.getBindScript(config)} ${script}`, context);
11293
10301
  }
11294
10302
  };
11295
10303
  element.addEventListener(eventName, handler);
@@ -11301,7 +10309,7 @@ ${indentStr}}`;
11301
10309
  script = "return " + script;
11302
10310
  }
11303
10311
  if (script) {
11304
- ScriptUtils.evaluate(`${this.getBindScript(config)}; ${script} `, Object.assign(obj, {
10312
+ ObjectUtils.Script.evaluate(`${this.getBindScript(config)}; ${script} `, Object.assign(obj, {
11305
10313
  __render: Object.freeze({
11306
10314
  element: it,
11307
10315
  attribute: ElementUtils.getAttributeToObject(it),
@@ -11327,7 +10335,7 @@ ${indentStr}}`;
11327
10335
  script = "return " + script;
11328
10336
  }
11329
10337
  if (script) {
11330
- ScriptUtils.evaluate(`${this.getBindScript(config)}; ${script} `, Object.assign(obj, {
10338
+ ObjectUtils.Script.evaluate(`${this.getBindScript(config)}; ${script} `, Object.assign(obj, {
11331
10339
  __render: Object.freeze({
11332
10340
  element: it,
11333
10341
  attribute: ElementUtils.getAttributeToObject(it),
@@ -11344,21 +10352,29 @@ ${indentStr}}`;
11344
10352
  script = "return " + script;
11345
10353
  }
11346
10354
  if (_EventManager.isUsingThisVar(script, varName) || varName === void 0) {
11347
- const data = ScriptUtils.evaluate(`const $element = this.__render.element; ${script} `, Object.assign(obj, {
10355
+ const data = ObjectUtils.Script.evaluate(`const $element = this.__render.element; ${script} `, Object.assign(obj, {
11348
10356
  __render: Object.freeze({
11349
10357
  element: it,
11350
10358
  attribute: ElementUtils.getAttributeToObject(it)
11351
10359
  })
11352
10360
  }));
11353
10361
  if (typeof data === "string") {
11354
- it.setAttribute("style", data);
10362
+ data.split(";").forEach((sit) => {
10363
+ const [key, value] = sit.split(":").map((s) => s.trim());
10364
+ if (key && value) {
10365
+ it.style[key] = value;
10366
+ }
10367
+ });
11355
10368
  } else if (Array.isArray(data)) {
11356
- it.setAttribute("style", data.join(";"));
10369
+ data.forEach((sit) => {
10370
+ const [key, value] = sit.split(":").map((s) => s.trim());
10371
+ if (key && value) {
10372
+ it.style[key] = value;
10373
+ }
10374
+ });
11357
10375
  } else {
11358
10376
  for (const [key, value] of Object.entries(data)) {
11359
- if (it instanceof HTMLElement) {
11360
- it.style[key] = String(value);
11361
- }
10377
+ it.style[key] = value === null ? null : String(value);
11362
10378
  }
11363
10379
  }
11364
10380
  }
@@ -11369,29 +10385,77 @@ ${indentStr}}`;
11369
10385
  script = "return " + script;
11370
10386
  }
11371
10387
  if (_EventManager.isUsingThisVar(script, varName) || varName === void 0) {
11372
- const data = ScriptUtils.evaluate(`const $element = this.element; ${script} `, Object.assign(obj, {
10388
+ const data = ObjectUtils.Script.evaluate(`const $element = this.element; ${script} `, Object.assign(obj, {
11373
10389
  __render: Object.freeze({
11374
10390
  element: it,
11375
10391
  attribute: ElementUtils.getAttributeToObject(it)
11376
10392
  })
11377
10393
  }));
11378
10394
  if (typeof data === "string") {
11379
- it.setAttribute("class", data);
10395
+ data.split(" ").forEach((cit) => it.classList.add(cit.trim()));
11380
10396
  } else if (Array.isArray(data)) {
11381
- it.setAttribute("class", data.join(" "));
10397
+ data.forEach((cit) => it.classList.add(cit.trim()));
11382
10398
  } else {
11383
10399
  for (const [key, value] of Object.entries(data)) {
11384
10400
  if (it instanceof HTMLElement) {
11385
10401
  if (value) {
11386
- it.classList.add(key);
10402
+ it.classList.add(key.trim());
11387
10403
  } else {
11388
- it.classList.remove(key);
10404
+ it.classList.remove(key.trim());
11389
10405
  }
11390
10406
  }
11391
10407
  }
11392
10408
  }
11393
10409
  }
11394
10410
  });
10411
+ this.procAttr(elements, _EventManager.valueAttrName, (it, attribute2) => {
10412
+ if (_EventManager.isUsingThisVar(attribute2, varName) || varName === void 0) {
10413
+ const data = ObjectUtils.Script.evaluateReturn(attribute2, obj);
10414
+ if (it.value !== data) it.value = data;
10415
+ }
10416
+ });
10417
+ this.procAttr(elements, _EventManager.checkedAttrName, (it, attribute2) => {
10418
+ if (_EventManager.isUsingThisVar(attribute2, varName) || varName === void 0) {
10419
+ const data = ObjectUtils.Script.evaluateReturn(attribute2, obj);
10420
+ if (it.checked !== data) it.checked = data;
10421
+ }
10422
+ });
10423
+ this.procAttr(elements, _EventManager.selectedAttrName, (it, attribute2) => {
10424
+ if (_EventManager.isUsingThisVar(attribute2, varName) || varName === void 0) {
10425
+ const data = ObjectUtils.Script.evaluateReturn(attribute2, obj);
10426
+ if (it.selected !== data) it.selected = data;
10427
+ }
10428
+ });
10429
+ this.procAttr(elements, _EventManager.readonlyAttrName, (it, attribute2) => {
10430
+ if (_EventManager.isUsingThisVar(attribute2, varName) || varName === void 0) {
10431
+ const data = ObjectUtils.Script.evaluateReturn(attribute2, obj);
10432
+ if (it.readOnly !== data) it.readOnly = data;
10433
+ }
10434
+ });
10435
+ this.procAttr(elements, _EventManager.disabledAttrName, (it, attribute2) => {
10436
+ if (_EventManager.isUsingThisVar(attribute2, varName) || varName === void 0) {
10437
+ const data = ObjectUtils.Script.evaluateReturn(attribute2, obj);
10438
+ if (it.disabled !== data) it.disabled = data;
10439
+ }
10440
+ });
10441
+ this.procAttr(elements, _EventManager.hiddenAttrName, (it, attribute2) => {
10442
+ if (_EventManager.isUsingThisVar(attribute2, varName) || varName === void 0) {
10443
+ const data = ObjectUtils.Script.evaluateReturn(attribute2, obj);
10444
+ if (it.hidden !== data) it.hidden = data;
10445
+ }
10446
+ });
10447
+ this.procAttr(elements, _EventManager.requiredAttrName, (it, attribute2) => {
10448
+ if (_EventManager.isUsingThisVar(attribute2, varName) || varName === void 0) {
10449
+ const data = ObjectUtils.Script.evaluateReturn(attribute2, obj);
10450
+ if (it.required !== data) it.required = data;
10451
+ }
10452
+ });
10453
+ this.procAttr(elements, _EventManager.openAttrName, (it, attribute2) => {
10454
+ if (_EventManager.isUsingThisVar(attribute2, varName) || varName === void 0) {
10455
+ const data = ObjectUtils.Script.evaluateReturn(attribute2, obj);
10456
+ if (it.open !== data) it.open = data;
10457
+ }
10458
+ });
11395
10459
  }
11396
10460
  procAttr(elements = /* @__PURE__ */ new Set(), attrName, callBack) {
11397
10461
  const sets = /* @__PURE__ */ new Set();
@@ -11609,7 +10673,7 @@ ${indentStr}}`;
11609
10673
  const itRandom = RawSet.drItOtherEncoding(this.elementSource.element);
11610
10674
  const vars = RawSet.drVarEncoding(this.elementSource.element, this.elementSource.attrs.drVarOption ?? "");
11611
10675
  const newTemp = this.source.config.window.document.createElement("temp");
11612
- ScriptUtils.evaluate(`
10676
+ ObjectUtils.Script.evaluate(`
11613
10677
  ${this.render.bindScript}
11614
10678
  const n = $element.cloneNode(true);
11615
10679
  var destIt = ${this.elementSource.attrs.drItOption};
@@ -11767,7 +10831,7 @@ ${indentStr}}`;
11767
10831
  var DrThis = class extends OperatorExecuterAttrRequire {
11768
10832
  async executeAttrRequire(attr) {
11769
10833
  const optionIf = this.elementSource.attrs.drDetectIfOption ?? this.elementSource.attrs.drIfOption;
11770
- const ok = ScriptUtils.evaluate(`
10834
+ const ok = ObjectUtils.Script.evaluate(`
11771
10835
  ${this.render.bindScript}
11772
10836
  try {
11773
10837
  const ok = ${this.elementSource.attrs.drThis};
@@ -12103,9 +11167,9 @@ ${indentStr}}`;
12103
11167
  }
12104
11168
  async executeAttrRequire(attr) {
12105
11169
  RawSet.drFormOtherMoveAttr(this.elementSource.element, "name", "temp-name", this.source.config);
12106
- const data = ScriptUtils.evaluateReturn(`${attr}`, this.source.obj);
11170
+ const data = ObjectUtils.Script.evaluateReturn(`${attr}`, this.source.obj);
12107
11171
  const childs = Array.from(this.elementSource.element.querySelectorAll("[name]"));
12108
- const fromName = ScriptUtils.evaluateReturn(this.elementSource.element.getAttribute(`${RawSet.DR_FORM_NAME}:name`) ?? "", this.source.obj);
11172
+ const fromName = ObjectUtils.Script.evaluateReturn(this.elementSource.element.getAttribute(`${RawSet.DR_FORM_NAME}:name`) ?? "", this.source.obj);
12109
11173
  const thisName = fromName ?? this.elementSource.element.getAttribute("name");
12110
11174
  if (childs.length <= 0 && thisName) {
12111
11175
  childs.push(this.elementSource.element);
@@ -12118,10 +11182,10 @@ ${indentStr}}`;
12118
11182
  const eventName = it.getAttribute(`${RawSet.DR_FORM_NAME}:event`) ?? "change";
12119
11183
  const validatorName = it.getAttribute(`${RawSet.DR_FORM_NAME}:validator`);
12120
11184
  const attrEventName = EventManager.attrPrefix + "event-" + eventName;
12121
- let varpath = ScriptUtils.evaluateReturn(this.elementSource.element.getAttribute(`${RawSet.DR_FORM_NAME}:name`) ?? "", this.source.obj) ?? it.getAttribute("name");
11185
+ let varpath = ObjectUtils.Script.evaluateReturn(this.elementSource.element.getAttribute(`${RawSet.DR_FORM_NAME}:name`) ?? "", this.source.obj) ?? it.getAttribute("name");
12122
11186
  if (varpath != null) {
12123
11187
  if (validatorName) {
12124
- ScriptUtils.evaluate(
11188
+ ObjectUtils.Script.evaluate(
12125
11189
  `
12126
11190
  ${this.render.bindScript}
12127
11191
  const validator = typeof ${validatorName} ==='function' ? new ${validatorName}() : ${validatorName};
@@ -12139,7 +11203,7 @@ ${indentStr}}`;
12139
11203
  );
12140
11204
  }
12141
11205
  varpath = `${attr}['${varpath}']`;
12142
- const data2 = ScriptUtils.evaluateReturn(`${varpath}`, this.source.obj);
11206
+ const data2 = ObjectUtils.Script.evaluateReturn(`${varpath}`, this.source.obj);
12143
11207
  if (data2 instanceof ValidatorArray) {
12144
11208
  it.setAttribute(attrEventName, `${varpath}.setArrayValue($target, $target.value, $event); ${it.getAttribute(attrEventName) ?? ""};`);
12145
11209
  data2.addValidator(it.value, it);
@@ -12200,7 +11264,7 @@ ${indentStr}}`;
12200
11264
  }
12201
11265
  async executeAttrRequire(attr) {
12202
11266
  const newTemp = this.source.config.window.document.createElement("temp");
12203
- ScriptUtils.evaluate(`
11267
+ ObjectUtils.Script.evaluate(`
12204
11268
  ${this.render.bindScript}
12205
11269
  const n = $element.cloneNode(true);
12206
11270
  ${this.elementSource.attrs.drBeforeOption ?? ""}
@@ -12239,7 +11303,7 @@ ${indentStr}}`;
12239
11303
  const itRandom = RawSet.drItOtherEncoding(this.elementSource.element);
12240
11304
  const vars = RawSet.drVarEncoding(this.elementSource.element, this.elementSource.attrs.drVarOption ?? "");
12241
11305
  const newTemp = this.source.config.window.document.createElement("temp");
12242
- ScriptUtils.evaluate(`
11306
+ ObjectUtils.Script.evaluate(`
12243
11307
  ${this.render.bindScript}
12244
11308
  ${this.elementSource.attrs.drBeforeOption ?? ""}
12245
11309
  for(${attr}) {
@@ -12288,6 +11352,10 @@ ${indentStr}}`;
12288
11352
  const variableName = this.elementSource.element.getAttribute(RawSet.DR_VARIABLE_NAME_OPTIONNAME);
12289
11353
  const itemVariableName = this.elementSource.element.getAttribute(RawSet.DR_ITEM_VARIABLE_NAME_OPTIONNAME);
12290
11354
  const itemIndexVariableName = this.elementSource.element.getAttribute(RawSet.DR_ITEM_INDEX_VARIABLE_NAME_OPTIONNAME);
11355
+ const hasVariableName = this.elementSource.element.hasAttribute(RawSet.DR_VARIABLE_NAME_OPTIONNAME);
11356
+ const hasItemVariableName = this.elementSource.element.hasAttribute(RawSet.DR_ITEM_VARIABLE_NAME_OPTIONNAME);
11357
+ const hasItemIndexVariableName = this.elementSource.element.hasAttribute(RawSet.DR_ITEM_INDEX_VARIABLE_NAME_OPTIONNAME);
11358
+ const t0 = performance.now();
12291
11359
  ObjectUtils.Script.evaluate(`
12292
11360
  ${this.render.bindScript}
12293
11361
  ${this.elementSource.attrs.drBeforeOption ?? ""}
@@ -12295,6 +11363,7 @@ ${indentStr}}`;
12295
11363
  const forOf = ${ObjectUtils.Path.toOptionalChainPath(attr)};
12296
11364
  const forOfStr = \`${attr}\`.trim();
12297
11365
  // console.log('forOf---',forOf);
11366
+ // debugger;
12298
11367
  if (forOf) {
12299
11368
  for(const it of forOf) {
12300
11369
  i++;
@@ -12313,16 +11382,39 @@ ${indentStr}}`;
12313
11382
  const n = this.__render.element.cloneNode(true);
12314
11383
  Object.entries(this.__render.drAttr).filter(([k,v]) => k !== 'drForOf' && k !== 'drNextOption' && v).forEach(([k, v]) => n.setAttribute(this.__render.drAttrsOriginName[k], v));
12315
11384
  n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replace(/\\#it\\#/g, destIt).replace(/\\#nearForOfIt\\#/g, destIt).replace(/\\#it\\#/g, destIt).replace(/\\#nearForOfIndex\\#/g, i)))
12316
- if ('${variableName}') {
11385
+ if (${hasVariableName} && '${variableName}') {
12317
11386
  n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replaceAll('#${variableName}#', forOfStr)));
12318
11387
  }
12319
- if ('${itemVariableName}') {
11388
+ if (${hasItemVariableName} && '${itemVariableName}') {
12320
11389
  n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replaceAll('#${itemVariableName}#', destIt)));
12321
11390
  }
12322
- if ('${itemIndexVariableName}') {
11391
+ if (${hasItemIndexVariableName} && '${itemIndexVariableName}') {
12323
11392
  n.getAttributeNames().forEach(it => n.setAttribute(it, n.getAttribute(it).replaceAll('#${itemIndexVariableName}#', i)));
12324
11393
  }
12325
11394
 
11395
+ const hasDrOptionAttr = n.hasAttribute('${RawSet.DR_ATTR_OPTIONNAME}');
11396
+ if (hasDrOptionAttr) {
11397
+ const drOptionAttr = n.getAttribute('${RawSet.DR_ATTR_OPTIONNAME}');
11398
+ const drOptionAttrResult = $scriptUtils.evaluateReturn(drOptionAttr, this);
11399
+ Array.from(Object.entries(drOptionAttrResult??{})).forEach(([k,v])=>{
11400
+ if (v === null) {
11401
+ n.removeAttribute(k);
11402
+ } else {
11403
+ n.setAttribute(k,v);
11404
+ }
11405
+ })
11406
+
11407
+ }
11408
+ const hasDrOptionIf = n.hasAttribute('${RawSet.DR_IF_OPTIONNAME}');
11409
+ if (hasDrOptionIf) {
11410
+ const drOptionIf = n.getAttribute('${RawSet.DR_IF_OPTIONNAME}');
11411
+ const e = $scriptUtils.evaluateReturn(drOptionIf, this);
11412
+ if(!e) {
11413
+ continue;
11414
+ }
11415
+
11416
+ }
11417
+
12326
11418
  const drOptionAttr = n.getAttribute('${RawSet.DR_DETECT_ATTR_OPTIONNAME}');
12327
11419
  if (drOptionAttr) {
12328
11420
  const drOptionAttrResult = $scriptUtils.evaluateReturn(drOptionAttr, this);
@@ -12345,13 +11437,13 @@ ${indentStr}}`;
12345
11437
  }
12346
11438
 
12347
11439
  n.innerHTML = n.innerHTML.replace(/\\#it\\#/g, destIt).replace(/\\#index\\#/g, i);
12348
- if ('${variableName}') {
11440
+ if (${hasVariableName} && '${variableName}') {
12349
11441
  n.innerHTML = n.innerHTML.replaceAll('#${variableName}#', forOfStr);
12350
11442
  }
12351
- if ('${itemVariableName}') {
11443
+ if (${hasItemVariableName} && '${itemVariableName}') {
12352
11444
  n.innerHTML = n.innerHTML.replaceAll('#${itemVariableName}#', destIt);
12353
11445
  }
12354
- if ('${itemIndexVariableName}') {
11446
+ if (${hasItemIndexVariableName} && '${itemIndexVariableName}') {
12355
11447
  n.innerHTML = n.innerHTML.replaceAll('#${itemIndexVariableName}#', i);
12356
11448
  }
12357
11449
 
@@ -12405,7 +11497,7 @@ ${indentStr}}`;
12405
11497
  const itRandom = RawSet.drItOtherEncoding(this.elementSource.element);
12406
11498
  const vars = RawSet.drVarEncoding(this.elementSource.element, this.elementSource.attrs.drVarOption ?? "");
12407
11499
  const newTemp = this.source.config.window.document.createElement("temp");
12408
- ScriptUtils.evaluate(`
11500
+ ObjectUtils.Script.evaluate(`
12409
11501
  try{
12410
11502
  ${this.render.bindScript}
12411
11503
  ${this.elementSource.attrs.drBeforeOption ?? ""}
@@ -12463,7 +11555,7 @@ ${indentStr}}`;
12463
11555
  const itRandom = RawSet.drItOtherEncoding(this.elementSource.element);
12464
11556
  const vars = RawSet.drVarEncoding(this.elementSource.element, this.elementSource.attrs.drVarOption ?? "");
12465
11557
  const newTemp = this.source.config.window.document.createElement("temp");
12466
- ScriptUtils.evaluate(`
11558
+ ObjectUtils.Script.evaluate(`
12467
11559
  ${this.render.bindScript}
12468
11560
  ${this.elementSource.attrs.drBeforeOption ?? ""}
12469
11561
  var i = 0;
@@ -12518,9 +11610,18 @@ ${indentStr}}`;
12518
11610
  super(rawSet, render, returnContainer, elementSource, source, afterCallBack, false);
12519
11611
  }
12520
11612
  async execute() {
12521
- const targetElement = this.source.config?.targetElements?.find(
12522
- (it) => it.name.toLowerCase() === this.elementSource.element.tagName.toLowerCase()
12523
- );
11613
+ let targetElement = void 0;
11614
+ let isTargetElementElement = this.elementSource.element.tagName.toLowerCase() === RawSet.DR_TARGET_ELEMENT_ELEMENTNAME.toLowerCase();
11615
+ if (isTargetElementElement) {
11616
+ const targetElementTagName = this.elementSource.element.getAttribute(`${RawSet.DR_TARGET_ELEMENT_ELEMENTNAME}:is`)?.toLowerCase();
11617
+ targetElement = this.source.config?.targetElements?.find(
11618
+ (it) => it.name.toLowerCase() === targetElementTagName
11619
+ );
11620
+ } else {
11621
+ targetElement = this.source.config?.targetElements?.find(
11622
+ (it) => it.name.toLowerCase() === this.elementSource.element.tagName.toLowerCase()
11623
+ );
11624
+ }
12524
11625
  if (targetElement) {
12525
11626
  if (this.rawSet.point.start instanceof this.source.config.window.HTMLMetaElement && this.rawSet.point.end instanceof this.source.config.window.HTMLMetaElement) {
12526
11627
  this.rawSet.point.start.setAttribute("this-path", `this.__domrender_components.${this.rawSet.uuid}`);
@@ -12540,7 +11641,7 @@ ${indentStr}}`;
12540
11641
  this.rawSet.detect = {
12541
11642
  action: () => {
12542
11643
  const script = `var $component = this.__render.component; var $element = this.__render.element; var $innerHTML = this.__render.innerHTML; var $attribute = this.__render.attribute; ${detectAction} `;
12543
- ScriptUtils.evaluate(
11644
+ ObjectUtils.Script.evaluate(
12544
11645
  script,
12545
11646
  Object.assign(this.source.obj, {
12546
11647
  __render: this.rawSet.dataSet.render
@@ -12621,7 +11722,7 @@ ${indentStr}}`;
12621
11722
  }
12622
11723
  async executeAttrRequire(attr) {
12623
11724
  const newTemp = this.source.config.window.document.createElement("temp");
12624
- ScriptUtils.evaluate(`
11725
+ ObjectUtils.Script.evaluate(`
12625
11726
  ${this.render.bindScript}
12626
11727
  ${this.elementSource.attrs.drBeforeOption ?? ""}
12627
11728
  const n = $element.cloneNode(true);
@@ -12683,7 +11784,7 @@ ${indentStr}}`;
12683
11784
  const newTemp = this.source.config.window.document.createElement("temp");
12684
11785
  const dictioanry = ScriptUtils.evaluateReturn(attr, this.source.obj);
12685
11786
  const dictionaryKey = this.elementSource.attrs.drKeyOption ?? "";
12686
- ScriptUtils.evaluate(`
11787
+ ObjectUtils.Script.evaluate(`
12687
11788
  ${this.render.bindScript}
12688
11789
  ${this.elementSource.attrs.drBeforeOption ?? ""}
12689
11790
  var i = 0;
@@ -12805,7 +11906,7 @@ ${indentStr}}`;
12805
11906
  this.rawSet.detect = {
12806
11907
  action: () => {
12807
11908
  const script = `var $component = this.__render.component; var $element = this.__render.element; var $innerHTML = this.__render.innerHTML; var $attribute = this.__render.attribute; ${detectAction} `;
12808
- ScriptUtils.evaluate(script, Object.assign(this.source.obj, {
11909
+ ObjectUtils.Script.evaluate(script, Object.assign(this.source.obj, {
12809
11910
  __render: this.rawSet.dataSet.render
12810
11911
  }));
12811
11912
  }
@@ -12929,10 +12030,49 @@ ${indentStr}}`;
12929
12030
  });
12930
12031
  return usingTriggerVariables;
12931
12032
  }
12932
- // 중요 render 처리 부분
12933
- // public async render(obj: any, config: DomRenderConfig): Promise<RawSet[]> {
12934
- // }
12935
12033
  async render(obj, config) {
12034
+ if (this.dataSet.fragment.childNodes.length === 1 && this.dataSet.fragment.childNodes[0].nodeType === Node.TEXT_NODE) {
12035
+ const textContent = this.dataSet.fragment.childNodes[0].textContent;
12036
+ if (textContent) {
12037
+ const runText = _RawSet.expressionGroups(textContent)[0][1];
12038
+ const __render = {
12039
+ rawSet: this,
12040
+ scripts: EventManager.setBindProperty(config?.scripts, obj),
12041
+ router: config?.router,
12042
+ range: Range2.range,
12043
+ element: this.dataSet.fragment.childNodes[0],
12044
+ attribute: {},
12045
+ rootObject: obj,
12046
+ scriptUtils: ObjectUtils.Script,
12047
+ nearThis: this.findNearThis(obj),
12048
+ parentThis: this.findParentThis(obj),
12049
+ bindScript: ` /** render **/
12050
+ const ${EventManager.SCRIPTS_VARNAME} = this.__render.scripts;
12051
+ const ${EventManager.RAWSET_VARNAME} = this.__render.rawSet;
12052
+ const ${EventManager.ELEMENT_VARNAME} = this.__render.element;
12053
+ const ${EventManager.ATTRIBUTE_VARNAME} = this.__render.attribute;
12054
+ const ${EventManager.RANGE_VARNAME} = this.__render.range;
12055
+ const ${EventManager.ROUTER_VARNAME} = this.__render.router;
12056
+ const ${EventManager.NEAR_THIS_VARNAME} = this.__render.nearThis;
12057
+ const ${EventManager.PARENT_THIS_VARNAME} = this.__render.parentThis;
12058
+ const ${EventManager.SCRIPT_UTILS_VARNAME} = this.__render.scriptUtils;
12059
+ const ${EventManager.ROOT_OBJECT_VARNAME} = this.__render.rootObject;
12060
+ `
12061
+ };
12062
+ try {
12063
+ const newValue = ObjectUtils.Script.evaluateReturn({
12064
+ bodyScript: __render.bindScript,
12065
+ returnScript: runText
12066
+ }, Object.assign(obj, { __render }));
12067
+ const newValueStr = String(newValue);
12068
+ if (this.lastRenderedValue === newValueStr) {
12069
+ return { raws: [], executedOperators: [] };
12070
+ }
12071
+ this.lastRenderedValue = newValueStr;
12072
+ } catch (e) {
12073
+ }
12074
+ }
12075
+ }
12936
12076
  const genNode = config.window.document.importNode(this.dataSet.fragment, true);
12937
12077
  const raws = [];
12938
12078
  const onAttrInitCallBacks = [];
@@ -12975,18 +12115,15 @@ ${indentStr}}`;
12975
12115
  const runText = _RawSet.expressionGroups(textContent)[0][1];
12976
12116
  let newNode;
12977
12117
  if (textContent?.startsWith("#")) {
12978
- const r = ObjectUtils.Script.evaluate(
12979
- `${__render.bindScript} return ${runText}`,
12118
+ const r = ObjectUtils.Script.evaluateReturn(
12119
+ { bodyScript: __render.bindScript, returnScript: runText },
12980
12120
  Object.assign(obj, { __render })
12981
12121
  );
12982
12122
  const template = config.window.document.createElement("template");
12983
12123
  template.innerHTML = r;
12984
12124
  newNode = template.content;
12985
12125
  } else {
12986
- const r = ObjectUtils.Script.evaluate(
12987
- `${__render.bindScript} return ${runText}`,
12988
- Object.assign(obj, { __render })
12989
- );
12126
+ const r = ObjectUtils.Script.evaluateReturn({ bodyScript: __render.bindScript, returnScript: runText }, Object.assign(obj, { __render }));
12990
12127
  newNode = config.window.document.createTextNode(r);
12991
12128
  }
12992
12129
  cNode.parentNode?.replaceChild(newNode, cNode);
@@ -13025,140 +12162,23 @@ ${indentStr}}`;
13025
12162
  };
13026
12163
  drAttrs.push(drAttr);
13027
12164
  const operators = [
13028
- new DrPre(
13029
- this,
13030
- __render,
13031
- { raws, fag },
13032
- { element, attrName: _RawSet.DR_PRE_NAME, attr: drAttr.drPre, attrs: drAttr },
13033
- { config, obj, operatorAround: config.operatorAround?.drPre },
13034
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
13035
- ),
13036
- new Dr(
13037
- this,
13038
- __render,
13039
- { raws, fag },
13040
- { element, attrName: _RawSet.DR_NAME, attr: drAttr.dr, attrs: drAttr },
13041
- { config, obj, operatorAround: config.operatorAround?.dr },
13042
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
13043
- ),
12165
+ new DrPre(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_PRE_NAME, attr: drAttr.drPre, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drPre }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
12166
+ new Dr(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_NAME, attr: drAttr.dr, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.dr }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
13044
12167
  // new Dr(this, __render, {raws, fag}, {element, attrName: EventManager.onRenderedInitAttrName, attr: drAttr.dr, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.dr}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),
13045
- new DrIf(
13046
- this,
13047
- __render,
13048
- { raws, fag },
13049
- { element, attrName: _RawSet.DR_IF_NAME, attr: drAttr.drIf, attrs: drAttr },
13050
- { config, obj, operatorAround: config.operatorAround?.drIf },
13051
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
13052
- ),
13053
- new DrStripElement(
13054
- this,
13055
- __render,
13056
- { raws, fag },
13057
- { element, attrName: _RawSet.DR_STRIP_NAME, attr: drAttr.drStripElement, attrs: drAttr },
13058
- { config, obj, operatorAround: config.operatorAround?.drThis },
13059
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
13060
- ),
13061
- new DrThis(
13062
- this,
13063
- __render,
13064
- { raws, fag },
13065
- { element, attrName: _RawSet.DR_THIS_NAME, attr: drAttr.drThis, attrs: drAttr },
13066
- { config, obj, operatorAround: config.operatorAround?.drThis },
13067
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
13068
- ),
13069
- new DrForm(
13070
- this,
13071
- __render,
13072
- { raws, fag },
13073
- { element, attrName: _RawSet.DR_FOR_NAME, attr: drAttr.drForm, attrs: drAttr },
13074
- { config, obj, operatorAround: config.operatorAround?.drForm },
13075
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
13076
- ),
13077
- new DrInnerText(
13078
- this,
13079
- __render,
13080
- { raws, fag },
13081
- { element, attrName: _RawSet.DR_INNERTEXT_NAME, attr: drAttr.drInnerText, attrs: drAttr },
13082
- { config, obj, operatorAround: config.operatorAround?.drInnerText },
13083
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
13084
- ),
13085
- new DrInnerHTML(
13086
- this,
13087
- __render,
13088
- { raws, fag },
13089
- { element, attrName: _RawSet.DR_INNERHTML_NAME, attr: drAttr.drInnerHTML, attrs: drAttr },
13090
- { config, obj, operatorAround: config.operatorAround?.drInnerHTML },
13091
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
13092
- ),
13093
- new DrFor(
13094
- this,
13095
- __render,
13096
- { raws, fag },
13097
- { element, attrName: _RawSet.DR_FOR_NAME, attr: drAttr.drFor, attrs: drAttr },
13098
- { config, obj, operatorAround: config.operatorAround?.drFor },
13099
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
13100
- ),
13101
- new DrForOf(
13102
- this,
13103
- __render,
13104
- { raws, fag },
13105
- { element, attrName: _RawSet.DR_FOR_OF_NAME, attr: drAttr.drForOf, attrs: drAttr },
13106
- { config, obj, operatorAround: config.operatorAround?.drForOf },
13107
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
13108
- ),
13109
- new DrThisProperty(
13110
- this,
13111
- __render,
13112
- { raws, fag },
13113
- { element, attrName: _RawSet.DR_THIS_PROPERTY_NAME, attr: drAttr.drThisProperty, attrs: drAttr },
13114
- { config, obj, operatorAround: config.operatorAround?.drThisProperty },
13115
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
13116
- ),
13117
- new DrAppender(
13118
- this,
13119
- __render,
13120
- { raws, fag },
13121
- { element, attrName: _RawSet.DR_APPENDER_NAME, attr: drAttr.drAppender, attrs: drAttr },
13122
- { config, obj, operatorAround: config.operatorAround?.drAppender },
13123
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
13124
- ),
13125
- new DrRepeat(
13126
- this,
13127
- __render,
13128
- { raws, fag },
13129
- { element, attrName: _RawSet.DR_REPEAT_NAME, attr: drAttr.drRepeat, attrs: drAttr },
13130
- { config, obj, operatorAround: config.operatorAround?.drRepeat },
13131
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
13132
- ),
13133
- new DrTargetElementIsElement(
13134
- this,
13135
- __render,
13136
- { raws, fag },
13137
- {
13138
- element,
13139
- attrName: _RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME,
13140
- attr: drAttr.drReplaceTargetElementIs,
13141
- attrs: drAttr
13142
- },
13143
- { config, obj },
13144
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
13145
- ),
13146
- new DrTargetElement(
13147
- this,
13148
- __render,
13149
- { raws, fag },
13150
- { element, attrs: drAttr },
13151
- { config, obj },
13152
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
13153
- ),
13154
- new DrTargetAttr(
13155
- this,
13156
- __render,
13157
- { raws, fag },
13158
- { element, attrs: drAttr },
13159
- { config, obj },
13160
- { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }
13161
- )
12168
+ new DrIf(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_IF_NAME, attr: drAttr.drIf, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drIf }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
12169
+ new DrStripElement(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_STRIP_NAME, attr: drAttr.drStripElement, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drThis }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
12170
+ new DrThis(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_THIS_NAME, attr: drAttr.drThis, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drThis }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
12171
+ new DrForm(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_FOR_NAME, attr: drAttr.drForm, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drForm }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
12172
+ new DrInnerText(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_INNERTEXT_NAME, attr: drAttr.drInnerText, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drInnerText }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
12173
+ new DrInnerHTML(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_INNERHTML_NAME, attr: drAttr.drInnerHTML, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drInnerHTML }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
12174
+ new DrFor(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_FOR_NAME, attr: drAttr.drFor, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drFor }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
12175
+ new DrForOf(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_FOR_OF_NAME, attr: drAttr.drForOf, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drForOf }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
12176
+ new DrThisProperty(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_THIS_PROPERTY_NAME, attr: drAttr.drThisProperty, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drThisProperty }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
12177
+ new DrAppender(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_APPENDER_NAME, attr: drAttr.drAppender, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drAppender }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
12178
+ new DrRepeat(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_REPEAT_NAME, attr: drAttr.drRepeat, attrs: drAttr }, { config, obj, operatorAround: config.operatorAround?.drRepeat }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
12179
+ new DrTargetElementIsElement(this, __render, { raws, fag }, { element, attrName: _RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME, attr: drAttr.drReplaceTargetElementIs, attrs: drAttr }, { config, obj }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
12180
+ new DrTargetElement(this, __render, { raws, fag }, { element, attrs: drAttr }, { config, obj }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks }),
12181
+ new DrTargetAttr(this, __render, { raws, fag }, { element, attrs: drAttr }, { config, obj }, { onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks })
13162
12182
  ];
13163
12183
  for (const operator of operators) {
13164
12184
  const state = await operator.start();
@@ -13221,6 +12241,7 @@ ${indentStr}}`;
13221
12241
  }
13222
12242
  });
13223
12243
  }
12244
+ console.groupEnd();
13224
12245
  return { raws, executedOperators };
13225
12246
  }
13226
12247
  // 중요 스타일 적용 부분
@@ -13339,7 +12360,7 @@ ${indentStr}}`;
13339
12360
  }
13340
12361
  if (element2.hasAttribute(EventManager.attrAttrName)) {
13341
12362
  const script = element2.getAttribute(EventManager.attrAttrName) ?? "";
13342
- const keyValuePairs = Array.from(script.matchAll(/(\w+):\s*([^,}]+)/g)).map((match) => ({
12363
+ const keyValuePairs = Array.from(script.matchAll(/['"]?([\w-_]+)['"]?:\s*([^,}]+)/g)).map((match) => ({
13343
12364
  key: match[1],
13344
12365
  value: match[2]
13345
12366
  }));
@@ -13349,20 +12370,22 @@ ${indentStr}}`;
13349
12370
  }
13350
12371
  const targetElementIs = element2.getAttribute(_RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME);
13351
12372
  const targetElementNames = config.targetElements?.map((it) => it.name.toLowerCase()) ?? [];
12373
+ targetElementNames.push(..._RawSet.DR_ELEMENTS);
13352
12374
  const isElement = targetElementNames.includes(element2.tagName.toLowerCase()) || targetElementNames.includes(targetElementIs?.toLowerCase());
13353
12375
  const targetAttrNames = (config.targetAttrs?.map((it) => it.name) ?? []).concat([..._RawSet.DR_ATTRIBUTES]);
13354
12376
  const normalAttrs = /* @__PURE__ */ new Map();
13355
12377
  const linkVariables = /* @__PURE__ */ new Map();
13356
12378
  const linkNames = EventManager.linkAttrs.map((it) => it.name);
13357
12379
  const isAttr = element2.getAttributeNames().filter((it) => !EventManager.noDetectAttr.includes(it)).filter((it) => {
13358
- const value = element2.getAttribute(it);
12380
+ const value = element2.getAttribute(it)?.trim();
13359
12381
  if (value && linkNames.includes(it)) {
13360
12382
  linkVariables.set(it, value);
13361
12383
  } else if (value && _RawSet.isExpression(value)) {
13362
12384
  const variablePaths = _RawSet.expressionGroups(value).map((it2) => ({
13363
- origin: it2[0],
13364
- inner: it2[1]
12385
+ origin: it2[0].trim(),
12386
+ inner: it2[1].trim()
13365
12387
  }));
12388
+ const isStringTemplate = variablePaths.length > 1 || variablePaths[0] && variablePaths[0].origin !== value;
13366
12389
  let targetScript = value;
13367
12390
  variablePaths.forEach((it2) => {
13368
12391
  let r3 = it2.inner.replace(/#[^#]*#/g, "({})");
@@ -13375,7 +12398,7 @@ ${indentStr}}`;
13375
12398
  } else {
13376
12399
  element2.setAttribute(it, cval);
13377
12400
  }
13378
- normalAttrs.set(it, { originalAttrValue: value, variablePaths });
12401
+ normalAttrs.set(it, { originalAttrValue: value, variablePaths, isStringTemplate });
13379
12402
  }
13380
12403
  const isTargetAttr = targetAttrNames.includes(it.toLowerCase());
13381
12404
  return isTargetAttr;
@@ -13446,7 +12469,8 @@ ${indentStr}}`;
13446
12469
  lasterIndex = regexArr.index + it.content.length;
13447
12470
  }
13448
12471
  template.content.append(config.window.document.createTextNode(text.substring(lasterIndex, text.length)));
13449
- currentNode2?.parentNode?.replaceChild(template.content, currentNode2);
12472
+ const p = currentNode2?.parentNode;
12473
+ p?.replaceChild(template.content, currentNode2);
13450
12474
  } else if (currentNode2.nodeType === Node2.ELEMENT_NODE) {
13451
12475
  const uuid = `${RandomUtils.alphabet(40)}`;
13452
12476
  const element2 = currentNode2;
@@ -13455,6 +12479,7 @@ ${indentStr}}`;
13455
12479
  const startEndPoint = _RawSet.createStartEndPoint({ node: element2, id: uuid, type: elementType }, config);
13456
12480
  const targetElementIs = element2.getAttribute(_RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME);
13457
12481
  const targetElementNames = config.targetElements?.map((it) => it.name.toLowerCase()) ?? [];
12482
+ targetElementNames.push(..._RawSet.DR_ELEMENTS);
13458
12483
  const isElement = targetElementNames.includes(element2.tagName.toLowerCase()) || targetElementNames.includes(targetElementIs?.toLowerCase());
13459
12484
  const targetAttrNames = (config.targetAttrs?.map((it) => it.name) ?? []).concat(_RawSet.DR_ATTRIBUTES);
13460
12485
  const isAttr = element2.getAttributeNames().filter((it) => targetAttrNames.includes(it.toLowerCase())).length > 0;
@@ -13817,9 +12842,11 @@ ${indentStr}}`;
13817
12842
  if (templateReplacements.length > 0) {
13818
12843
  targetElement.innerHTML = StringUtils.replaceSequentially(targetElement.innerHTML, templateReplacements);
13819
12844
  }
12845
+ const componentName = targetElement.getAttribute(_RawSet.DR_VARIABLE_NAME_OPTIONNAME) ?? "component";
13820
12846
  const optionThisName = targetElement.getAttribute(_RawSet.DR_THIS_NAME_OPTIONNAME);
13821
12847
  targetElement.getAttributeNames().forEach((it) => targetElement.setAttribute(it, targetElement.getAttribute(it).replace(/#this#/g, drThis)));
13822
12848
  const thisRandom = this.drThisEncoding(targetElement, drThis, { asIs: /@this@/g });
12849
+ targetElement.innerHTML = targetElement.innerHTML.replaceAll(`#${componentName}#`, drThis);
13823
12850
  if (optionThisName) {
13824
12851
  targetElement.innerHTML = targetElement.innerHTML.replaceAll(`@${optionThisName}@`, drThis);
13825
12852
  }
@@ -13993,7 +13020,8 @@ ${indentStr}}`;
13993
13020
  );
13994
13021
  if (data && innerHTMLThisRandom) {
13995
13022
  const template2 = config.window.document.createElement("template");
13996
- template2.innerHTML = ElementUtils.toInnerHTML(data, { document: config.window.document }).replace(RegExp(innerHTMLThisRandom, "g"), "this.");
13023
+ let s = ElementUtils.toInnerHTML(data, { document: config.window.document });
13024
+ template2.innerHTML = s.replace(RegExp(innerHTMLThisRandom, "g"), "this.");
13997
13025
  ;
13998
13026
  data = template2.content;
13999
13027
  }
@@ -14033,22 +13061,17 @@ ${indentStr}}`;
14033
13061
  new Map(JSON.parse(normalAttribute)).forEach((v, k) => {
14034
13062
  const variablePaths = v.variablePaths;
14035
13063
  let targetScript = v.originalAttrValue.trim();
14036
- let checktargetScript = v.originalAttrValue.trim();
14037
- variablePaths.forEach((it) => {
14038
- checktargetScript = targetScript.replaceAll(it.origin, "");
14039
- });
14040
- let isScriptValue = checktargetScript.length === 0 && variablePaths.length === 1;
14041
- if (isScriptValue) {
14042
- let r = ObjectUtils.Path.toOptionalChainPath(variablePaths[0].inner);
14043
- targetScript = targetScript.replaceAll(variablePaths[0].origin, r);
14044
- } else {
13064
+ if (v.isStringTemplate) {
14045
13065
  variablePaths.forEach((it) => {
14046
13066
  let r = ObjectUtils.Path.toOptionalChainPath(it.inner);
14047
13067
  targetScript = targetScript.replaceAll(it.origin, `\${${r}}`);
14048
13068
  });
13069
+ } else {
13070
+ let r = ObjectUtils.Path.toOptionalChainPath(variablePaths[0].inner);
13071
+ targetScript = targetScript.replaceAll(variablePaths[0].origin, r);
14049
13072
  }
14050
13073
  const cval = ObjectUtils.Script.evaluateReturn(
14051
- { bodyScript: config.script, returnScript: isScriptValue ? targetScript : "`" + targetScript + "`" },
13074
+ { bodyScript: config.script, returnScript: v.isStringTemplate ? "`" + targetScript + "`" : targetScript },
14052
13075
  Object.assign(config.obj, config.renderData ? { __render: config.renderData } : void 0)
14053
13076
  );
14054
13077
  attribute2[k] = cval;
@@ -14072,6 +13095,8 @@ ${indentStr}}`;
14072
13095
  _RawSet.DR_DETECT_NAME = "dr-detect";
14073
13096
  _RawSet.DR_STRIP_NAME = "dr-strip";
14074
13097
  _RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME = "dr-replace-target-element-is";
13098
+ // elementName
13099
+ _RawSet.DR_TARGET_ELEMENT_ELEMENTNAME = "dr-target-element";
14075
13100
  // 감지처리되는 옵션
14076
13101
  _RawSet.DR_DETECT_IF_OPTIONNAME = "dr-detect-option-if";
14077
13102
  _RawSet.DR_DETECT_FILTER_OPTIONNAME = "dr-detect-option-filter";
@@ -14138,6 +13163,9 @@ ${indentStr}}`;
14138
13163
  // public static readonly DR_REPLACE_ACTION_ATTRIBUTES = [
14139
13164
  // RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME
14140
13165
  // ]
13166
+ _RawSet.DR_ELEMENTS = [
13167
+ _RawSet.DR_TARGET_ELEMENT_ELEMENTNAME
13168
+ ];
14141
13169
  _RawSet.DR_ATTRIBUTES = [
14142
13170
  _RawSet.DR_NAME,
14143
13171
  _RawSet.DR_APPENDER_NAME,
@@ -14151,7 +13179,7 @@ ${indentStr}}`;
14151
13179
  _RawSet.DR_INNERHTML_NAME,
14152
13180
  _RawSet.DR_INNERTEXT_NAME,
14153
13181
  _RawSet.DR_REPEAT_NAME,
14154
- _RawSet.DR_DETECT_NAME,
13182
+ // RawSet.DR_DETECT_NAME, // TODO: DrDetect 오퍼레이터 구현 필요
14155
13183
  _RawSet.DR_STRIP_NAME
14156
13184
  ];
14157
13185
  var RawSet = _RawSet;
@@ -14159,17 +13187,10 @@ ${indentStr}}`;
14159
13187
  // src/decorators/DomRenderNoProxy.ts
14160
13188
  var DomRenderNoProxyKey = "DomRender:NoProxy";
14161
13189
  var DomRenderNoProxy = (target, propertyKey) => {
14162
- if (propertyKey === void 0) {
14163
- Reflect.defineMetadata(DomRenderNoProxyKey, true, target);
14164
- return;
14165
- }
14166
- Reflect.defineMetadata(DomRenderNoProxyKey, true, target, propertyKey);
13190
+ ReflectUtils.defineMetadata(DomRenderNoProxyKey, true, target, propertyKey);
14167
13191
  };
14168
13192
  var getDomRenderNoProxy = (target, propertyKey) => {
14169
- if (propertyKey === void 0) {
14170
- return Reflect.getMetadata(DomRenderNoProxyKey, target);
14171
- }
14172
- return Reflect.getMetadata(DomRenderNoProxyKey, target, propertyKey);
13193
+ return ReflectUtils.getMetadata(DomRenderNoProxyKey, target, propertyKey);
14173
13194
  };
14174
13195
  var isDomRenderNoProxy = (target, propertyKey) => {
14175
13196
  return ValidUtils.isNullOrUndefined(target) || getDomRenderNoProxy(target, propertyKey) === true;
@@ -14193,6 +13214,11 @@ ${indentStr}}`;
14193
13214
  return typeof obj?.onRawSetRendered === "function";
14194
13215
  };
14195
13216
 
13217
+ // src/lifecycle/OnChildRawSetRendered.ts
13218
+ var isOnChildRawSetRendered = (obj) => {
13219
+ return typeof obj?.onChildRawSetRendered === "function";
13220
+ };
13221
+
14196
13222
  // src/DomRenderProxy.ts
14197
13223
  var excludeGetSetPropertys = [
14198
13224
  "onBeforeReturnGet",
@@ -14230,12 +13256,12 @@ ${indentStr}}`;
14230
13256
  return void 0;
14231
13257
  };
14232
13258
  var DomRenderProxy = class _DomRenderProxy {
13259
+ // public name = Math.random();
14233
13260
  constructor(_domRender_origin, target, _domRender_config) {
14234
13261
  this._domRender_origin = _domRender_origin;
14235
13262
  this._domRender_config = _domRender_config;
14236
13263
  this._domRender_ref = /* @__PURE__ */ new Map();
14237
13264
  this._rawSets = /* @__PURE__ */ new Map();
14238
- // public _firstTarget: Node;
14239
13265
  this._targets = /* @__PURE__ */ new Set();
14240
13266
  if (target) {
14241
13267
  this._targets.add(target);
@@ -14319,7 +13345,7 @@ ${indentStr}}`;
14319
13345
  const onInit = target.getAttribute?.(RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME);
14320
13346
  let initParam;
14321
13347
  if (onCreate) {
14322
- initParam = ScriptUtils.evaluateReturn(onCreate, this._domRender_proxy);
13348
+ initParam = ObjectUtils.Script.evaluateReturn(onCreate, this._domRender_proxy);
14323
13349
  }
14324
13350
  if (isOnInitRender(this._domRender_proxy)) {
14325
13351
  await this._domRender_proxy.onInitRender(
@@ -14348,46 +13374,65 @@ ${indentStr}}`;
14348
13374
  }
14349
13375
  const removeRawSets = [];
14350
13376
  const rawSets = raws ?? this.getRawSets();
14351
- for (const it of rawSets) {
14352
- it.getUsingTriggerVariables(this._domRender_config).forEach((path) => {
14353
- this.addRawSet(path, it);
14354
- });
14355
- let renderResult;
14356
- if (it.isConnected) {
14357
- const targetAttrMap = it.point.node?.getAttribute?.(EventManager.normalAttrMapAttrName);
14358
- if (it.detect?.action) {
14359
- it.detect.action();
14360
- } else if (it.type === "TARGET_ELEMENT" /* TARGET_ELEMENT */ && it.dataSet?.render?.currentThis && fullPathStr && targetAttrMap) {
14361
- new Map(JSON.parse(targetAttrMap)).forEach((v, k) => {
14362
- var _a2;
14363
- const isUsing = v.variablePaths.some((it2) => EventManager.isUsingThisVar(it2.inner, `this.${fullPathStr}`));
14364
- if (isUsing) {
14365
- const targetAttrObject = RawSet.getAttributeObject(it.point.node, {
14366
- script: it.dataSet?.render?.renderScript ?? "",
14367
- obj: Object.assign(this._domRender_proxy ?? {}, { __render: it.dataSet?.render })
14368
- });
14369
- (_a2 = it.dataSet).render ?? (_a2.render = {});
14370
- it.dataSet.render.attribute = targetAttrObject;
14371
- if (isOnChangeAttrRender(it.dataSet?.render?.currentThis)) {
14372
- it.dataSet?.render?.currentThis?.onChangeAttrRender?.(k, targetAttrObject[k], { rawSet: it });
13377
+ const CHUNK_SIZE = 50;
13378
+ const chunks = [];
13379
+ const rawSetsArray = Array.from(rawSets);
13380
+ for (let i = 0; i < rawSetsArray.length; i += CHUNK_SIZE) {
13381
+ chunks.push(rawSetsArray.slice(i, i + CHUNK_SIZE));
13382
+ }
13383
+ for (const chunk of chunks) {
13384
+ const promises = chunk.map(async (it) => {
13385
+ it.getUsingTriggerVariables(this._domRender_config).forEach((path) => {
13386
+ this.addRawSet(path, it);
13387
+ });
13388
+ let renderResult;
13389
+ if (it.isConnected) {
13390
+ const targetAttrMap = it.point.node?.getAttribute?.(EventManager.normalAttrMapAttrName);
13391
+ if (it.detect?.action) {
13392
+ it.detect.action();
13393
+ } else if (it.type === "TARGET_ELEMENT" /* TARGET_ELEMENT */ && it.dataSet?.render?.currentThis && fullPathStr && targetAttrMap) {
13394
+ const attrStart = performance.now();
13395
+ new Map(JSON.parse(targetAttrMap)).forEach((v, k) => {
13396
+ var _a2;
13397
+ const isUsing = v.variablePaths.some((it2) => EventManager.isUsingThisVar(it2.inner, `this.${fullPathStr}`));
13398
+ if (isUsing) {
13399
+ const targetAttrObject = RawSet.getAttributeObject(it.point.node, {
13400
+ script: it.dataSet?.render?.renderScript ?? "",
13401
+ obj: Object.assign(this._domRender_proxy ?? {}, { __render: it.dataSet?.render })
13402
+ });
13403
+ (_a2 = it.dataSet).render ?? (_a2.render = {});
13404
+ it.dataSet.render.attribute = targetAttrObject;
13405
+ if (isOnChangeAttrRender(it.dataSet?.render?.currentThis)) {
13406
+ it.dataSet?.render?.currentThis?.onChangeAttrRender?.(k, targetAttrObject[k], { rawSet: it });
13407
+ }
14373
13408
  }
13409
+ });
13410
+ const attrEnd = performance.now();
13411
+ } else {
13412
+ const renderStart = performance.now();
13413
+ const rawSets2 = await it.render(this._domRender_proxy, this._domRender_config);
13414
+ const renderEnd = performance.now();
13415
+ renderResult = rawSets2;
13416
+ if (rawSets2 && rawSets2.raws.length > 0) {
13417
+ await this.render(rawSets2.raws);
14374
13418
  }
14375
- });
14376
- } else {
14377
- const rawSets2 = await it.render(this._domRender_proxy, this._domRender_config);
14378
- renderResult = rawSets2;
14379
- if (rawSets2 && rawSets2.raws.length > 0) {
14380
- await this.render(rawSets2.raws);
14381
13419
  }
13420
+ } else {
13421
+ removeRawSets.push(it);
14382
13422
  }
14383
- } else {
14384
- removeRawSets.push(it);
14385
- }
14386
- const t = it.findNearThis(this._domRender_proxy);
14387
- if (isOnRawSetRendered(t)) {
14388
- await t.onRawSetRendered(it, { path: fullPathStr, renderResult });
13423
+ const t = it.findNearThis(this._domRender_proxy);
13424
+ if (isOnRawSetRendered(t)) {
13425
+ await t.onRawSetRendered(it, { path: fullPathStr, value: ObjectUtils.Script.evaluateReturn(`this.${fullPathStr}`, this._domRender_proxy), root: this._domRender_proxy, renderResult });
13426
+ }
13427
+ });
13428
+ await Promise.all(promises);
13429
+ if (chunks.length > 1) {
13430
+ await new Promise((resolve) => requestAnimationFrame(resolve));
14389
13431
  }
14390
13432
  }
13433
+ if (isOnChildRawSetRendered(this._domRender_proxy)) {
13434
+ await this._domRender_proxy.onChildRawSetRendered();
13435
+ }
14391
13436
  if (removeRawSets.length > 0) {
14392
13437
  this.removeRawSet(...removeRawSets);
14393
13438
  }
@@ -14402,12 +13447,15 @@ ${indentStr}}`;
14402
13447
  // return current;
14403
13448
  // }
14404
13449
  root(pathInfos, value, lastDoneExecute = true) {
13450
+ const rootStartTime = Date.now();
13451
+ const pathKey = pathInfos.flat().map((i) => i.path).join(".");
14405
13452
  const fullPaths = [];
14406
13453
  if (this._domRender_ref.size > 0) {
14407
13454
  this._domRender_ref.forEach((it, key) => {
14408
13455
  if ("_DomRender_isProxy" in key) {
14409
13456
  it.forEach((sit) => {
14410
13457
  try {
13458
+ const recursiveStartTime = Date.now();
14411
13459
  const concat2 = pathInfos.concat([[{ path: sit, obj: key }]]);
14412
13460
  const items = key._DomRender_proxy?.root(
14413
13461
  concat2,
@@ -14421,6 +13469,7 @@ ${indentStr}}`;
14421
13469
  }
14422
13470
  });
14423
13471
  } else {
13472
+ const pathProcessStartTime = Date.now();
14424
13473
  const strings = pathInfos.reverse().map((it) => it.map((it2) => it2.path).join(","));
14425
13474
  const fullPathStr = strings.map((it) => isNaN(Number(it)) ? "." + it : `[${it}]`).join("").slice(1);
14426
13475
  if (lastDoneExecute) {
@@ -14428,10 +13477,13 @@ ${indentStr}}`;
14428
13477
  const front = strings.slice(0, strings.length - 1).map((it) => isNaN(Number(it)) ? "." + it : `[${it}]`).join("");
14429
13478
  const lastPropertyName = strings[strings.length - 1];
14430
13479
  const path = "this" + front;
14431
- const data = ScriptUtils.evaluateReturn(ObjectUtils.Path.toOptionalChainPath(path), this._domRender_proxy);
13480
+ const data = ObjectUtils.Script.evaluateReturn(ObjectUtils.Path.toOptionalChainPath(path), this._domRender_proxy);
13481
+ const promiseStartTime = Date.now();
14432
13482
  new Promise(async (resolve) => {
13483
+ const promiseInnerStartTime = Date.now();
14433
13484
  let rData = [];
14434
13485
  const firstPathStr = front.slice(1);
13486
+ const dictionaryCheckStartTime = Date.now();
14435
13487
  const firstTargets = this._rawSets.get(firstPathStr);
14436
13488
  const firstTargetDictionary = [];
14437
13489
  firstTargets?.forEach((it) => {
@@ -14473,6 +13525,7 @@ ${indentStr}}`;
14473
13525
  rData = await this.render(rawSets);
14474
13526
  }
14475
13527
  }
13528
+ const renderStartTime = Date.now();
14476
13529
  if (lastPropertyName === "length" && Array.isArray(data)) {
14477
13530
  const aIterable = this._rawSets.get(firstPathStr);
14478
13531
  if (aIterable) {
@@ -14481,13 +13534,17 @@ ${indentStr}}`;
14481
13534
  } else if (iterable) {
14482
13535
  rData = await this.render(Array.from(iterable), fullPathStr);
14483
13536
  }
13537
+ const eventProcessStartTime = Date.now();
14484
13538
  const Node2 = this._domRender_config.window.Node;
14485
13539
  this._targets.forEach((it) => {
14486
13540
  if (it.nodeType === Node2.DOCUMENT_FRAGMENT_NODE || it.nodeType === Node2.ELEMENT_NODE) {
13541
+ const findAttrStartTime = Date.now();
14487
13542
  const targets = this._domRender_config.eventManager.findAttrElements(
14488
13543
  it,
14489
13544
  this._domRender_config
14490
13545
  );
13546
+ const targetCount = targets?.size || targets?.length || 0;
13547
+ const changeVarStartTime = Date.now();
14491
13548
  this._domRender_config.eventManager.changeVar(
14492
13549
  this._domRender_proxy,
14493
13550
  targets,
@@ -14497,7 +13554,7 @@ ${indentStr}}`;
14497
13554
  }
14498
13555
  });
14499
13556
  if (rData?.length > 0 && isOnChildRenderedByProperty(data)) {
14500
- const propertyValue = ScriptUtils.evaluateReturn(`this.${lastPropertyName}`, data);
13557
+ const propertyValue = ObjectUtils.Script.evaluateReturn(`this.${lastPropertyName}`, data);
14501
13558
  data.onChildRenderedByProperty(lastPropertyName, propertyValue);
14502
13559
  }
14503
13560
  resolve(rData);
@@ -14513,6 +13570,7 @@ ${indentStr}}`;
14513
13570
  target[p] = value;
14514
13571
  return true;
14515
13572
  }
13573
+ let start = performance.now();
14516
13574
  if (typeof p === "string") {
14517
13575
  value = this.proxy(receiver, value, p);
14518
13576
  }
@@ -14535,14 +13593,23 @@ ${indentStr}}`;
14535
13593
  }).forEach((it) => {
14536
13594
  const variablePaths = it.valueScript.variablePaths;
14537
13595
  let targetScript = it.valueScript.originalAttrValue;
14538
- variablePaths.forEach((it2) => {
14539
- let r = ObjectUtils.Path.toOptionalChainPath(it2.inner);
14540
- targetScript = targetScript.replaceAll(it2.origin, `\${${r}}`);
14541
- });
14542
- const value1 = ObjectUtils.Script.evaluateReturn("`" + targetScript + "`", it.pathInfo.obj);
14543
- if (value1 === null) {
13596
+ let script;
13597
+ if (it.valueScript.isStringTemplate) {
13598
+ variablePaths.forEach((it2) => {
13599
+ let r = ObjectUtils.Path.toOptionalChainPath(it2.inner);
13600
+ targetScript = targetScript.replaceAll(it2.origin, `\${${r}}`);
13601
+ });
13602
+ script = "`" + targetScript + "`";
13603
+ } else {
13604
+ variablePaths.forEach((it2) => {
13605
+ let r = ObjectUtils.Path.toOptionalChainPath(it2.inner);
13606
+ targetScript = targetScript.replaceAll(it2.origin, `${r}`);
13607
+ });
13608
+ script = targetScript;
13609
+ }
13610
+ const value1 = ObjectUtils.Script.evaluateReturn(script, it.pathInfo.obj);
13611
+ if (value1 === null || value1 === void 0) {
14544
13612
  elementInfo.element.removeAttribute(it.key);
14545
- elementInfo.element[it.key] = null;
14546
13613
  } else {
14547
13614
  elementInfo.element.setAttribute(it.key, value1);
14548
13615
  elementInfo.element[it.key] = value1;
@@ -14552,11 +13619,11 @@ ${indentStr}}`;
14552
13619
  );
14553
13620
  DocumentUtils.querySelectorAllByAttributeName(rootElement, EventManager.linkTargetMapAttrName)?.forEach(
14554
13621
  (elementInfo) => {
14555
- const targets = new Map(ScriptUtils.evaluateReturn(elementInfo.value));
13622
+ const targets = new Map(ObjectUtils.Script.evaluateReturn(elementInfo.value));
14556
13623
  Array.from(targets.entries()).filter(([key, value2]) => value2.trim()).filter(isDefined).flatMap(([key, valueScript]) => {
14557
13624
  return fullPathInfo.flat().filter((it) => valueScript.includes(`this.${it.path}`)).flatMap((it) => ({ key, valueScript, pathInfo: it }));
14558
13625
  }).forEach((info) => {
14559
- const value1 = ScriptUtils.evaluateReturn(info.valueScript, info.pathInfo.obj);
13626
+ const value1 = ObjectUtils.Script.evaluateReturn(info.valueScript, info.pathInfo.obj);
14560
13627
  const applyAttributeName = EventManager.linkAttrs.find((it) => it.name === info.key);
14561
13628
  if (applyAttributeName) {
14562
13629
  if (value1 === null) {
@@ -14713,11 +13780,13 @@ ${indentStr}}`;
14713
13780
  let routeData;
14714
13781
  if (config?.firstUrl) {
14715
13782
  const path = config.firstUrl.split("?");
13783
+ const urlSearchParams = new URLSearchParams(path[1] ?? "");
14716
13784
  routeData = {
14717
13785
  url: config.firstUrl,
14718
13786
  path: path[0],
14719
- searchParams: new URLSearchParams(path[1] ?? ""),
13787
+ searchParams: urlSearchParams,
14720
13788
  router: this,
13789
+ search: urlSearchParams.size > 0 ? `?${urlSearchParams.toString()}` : "",
14721
13790
  triggerPoint: "end"
14722
13791
  };
14723
13792
  this.behaviorSubject = new BehaviorSubject(routeData);
@@ -14770,31 +13839,30 @@ ${indentStr}}`;
14770
13839
  }
14771
13840
  }
14772
13841
  getRouteData(config) {
14773
- let path = "";
14774
- let url = "";
13842
+ let path = this.getPathName();
13843
+ let url = this.getUrl();
13844
+ let searchParams = this.getSearchParams();
13845
+ let search = this.getSearch();
14775
13846
  if (config?.pathOrUrl) {
14776
- let isUrl = false;
14777
- try {
14778
- new URL(config.pathOrUrl);
14779
- isUrl = true;
14780
- } catch {
14781
- isUrl = false;
14782
- }
14783
- if (isUrl) {
14784
- const u = new URL(config.pathOrUrl);
14785
- path = u.pathname;
14786
- url = u.pathname + u.search;
13847
+ const paths = config.pathOrUrl.split("?");
13848
+ search = paths[1] ? `?${paths[1]}` : "";
13849
+ searchParams = new URLSearchParams(search);
13850
+ const firstUrl = paths[0];
13851
+ if (ValidUtils.isUrl(firstUrl)) {
13852
+ path = new URL(firstUrl).pathname;
14787
13853
  } else {
14788
- path = config.pathOrUrl.split("?")[0];
13854
+ path = firstUrl;
14789
13855
  }
14790
- } else {
14791
- path = this.getPathName();
14792
- url = this.getUrl();
13856
+ url = config.pathOrUrl;
14793
13857
  }
14794
13858
  const newVar = {
14795
13859
  path,
14796
13860
  url,
14797
- searchParams: this.getSearchParams()
13861
+ searchParams,
13862
+ // 이렇게 하면 진짜 문자열이 변형이 될수 있다 따라서 그냥 문자열 자른 원본을넣어줘야한다
13863
+ // search: searchParams.size > 0 ? `?${searchParams.toString()}` : '',
13864
+ search,
13865
+ router: this
14798
13866
  };
14799
13867
  const data = this.getData();
14800
13868
  if (data) {
@@ -14806,7 +13874,6 @@ ${indentStr}}`;
14806
13874
  newVar.pathData = data2;
14807
13875
  }
14808
13876
  }
14809
- newVar.router = this;
14810
13877
  return Object.freeze(newVar);
14811
13878
  }
14812
13879
  pushState(data, title, path) {
@@ -14857,7 +13924,6 @@ ${indentStr}}`;
14857
13924
  }
14858
13925
  }
14859
13926
  toUrl(data) {
14860
- console.log("toUrl", data);
14861
13927
  let targetPath;
14862
13928
  if (typeof data === "string") {
14863
13929
  targetPath = data;
@@ -14868,6 +13934,10 @@ ${indentStr}}`;
14868
13934
  }
14869
13935
  return targetPath;
14870
13936
  }
13937
+ reload() {
13938
+ const currentUrl = this.getUrl();
13939
+ this.replace(currentUrl);
13940
+ }
14871
13941
  };
14872
13942
 
14873
13943
  // src/routers/PathRouter.ts
@@ -14935,6 +14005,9 @@ ${indentStr}}`;
14935
14005
  getPathName() {
14936
14006
  return this.config.window.location?.pathname ?? "/";
14937
14007
  }
14008
+ getSearch() {
14009
+ return this.config.window.location?.search ?? "";
14010
+ }
14938
14011
  getHashSearchParams(data) {
14939
14012
  const searchParams = new URLSearchParams(this.config.window.location?.hash.slice(1) ?? "");
14940
14013
  data?.delete?.forEach((it) => {
@@ -15016,6 +14089,9 @@ ${indentStr}}`;
15016
14089
  getPathName() {
15017
14090
  return LocationUtils.hashPath(this.config.window) || "/";
15018
14091
  }
14092
+ getSearch() {
14093
+ return LocationUtils.hashSearch(this.config.window);
14094
+ }
15019
14095
  getHashSearchParams(data) {
15020
14096
  const hash = this.config.window.location.hash;
15021
14097
  const queryIndex = hash.indexOf("?");
@@ -15238,6 +14314,41 @@ ${indentStr}}`;
15238
14314
  };
15239
14315
  }
15240
14316
 
14317
+ // ../core/dist/esm/message/operators/bufferTime.js
14318
+ function bufferTime(bufferTimeSpan) {
14319
+ return (source) => {
14320
+ return new Observable((subscriber) => {
14321
+ let buffer = [];
14322
+ const intervalId = setInterval(() => {
14323
+ if (buffer.length > 0) {
14324
+ subscriber.next(buffer);
14325
+ buffer = [];
14326
+ }
14327
+ }, bufferTimeSpan);
14328
+ const sourceSubscription = source.subscribe({
14329
+ next: (value) => {
14330
+ buffer.push(value);
14331
+ },
14332
+ error: (err) => {
14333
+ subscriber.error(err);
14334
+ clearInterval(intervalId);
14335
+ },
14336
+ complete: () => {
14337
+ if (buffer.length > 0) {
14338
+ subscriber.next(buffer);
14339
+ }
14340
+ subscriber.complete();
14341
+ clearInterval(intervalId);
14342
+ }
14343
+ });
14344
+ return () => {
14345
+ sourceSubscription.unsubscribe();
14346
+ clearInterval(intervalId);
14347
+ };
14348
+ });
14349
+ };
14350
+ }
14351
+
15241
14352
  // src/components/ComponentBase.ts
15242
14353
  var __decorate = function(decorators, target, key, desc) {
15243
14354
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -15285,6 +14396,8 @@ ${indentStr}}`;
15285
14396
  this._eventBindings = [];
15286
14397
  this._refreshTimers = /* @__PURE__ */ new Map();
15287
14398
  this.childrenSetSubject = new Subject();
14399
+ this.onRawSetRenderedOtherDataSubject = new Subject();
14400
+ this.onChildRawSetRenderedOtherDataSubject = new Subject();
15288
14401
  }
15289
14402
  get componentConfig() {
15290
14403
  return this._config;
@@ -15452,6 +14565,7 @@ ${indentStr}}`;
15452
14565
  this._refreshTimers.clear();
15453
14566
  }
15454
14567
  async onRawSetRendered(rawSet, otherData) {
14568
+ this.onRawSetRenderedOtherDataSubject.next(otherData);
15455
14569
  const queries = ReflectUtils.getMetadata(QUERY_METADATA_KEY, this.constructor);
15456
14570
  if (queries) {
15457
14571
  queries.filter((it) => it.refreshRawSetRendered).forEach((queryInfo) => {
@@ -15465,6 +14579,9 @@ ${indentStr}}`;
15465
14579
  });
15466
14580
  }
15467
14581
  }
14582
+ async onChildRawSetRendered() {
14583
+ this.onChildRawSetRenderedOtherDataSubject.next();
14584
+ }
15468
14585
  /**
15469
14586
  * Manually refresh all query and event decorators
15470
14587
  * Useful when DOM elements are dynamically added/removed and you want to update bindings
@@ -15567,6 +14684,17 @@ ${indentStr}}`;
15567
14684
  }
15568
14685
  }
15569
14686
  }
14687
+ getAttributeNames(attribute2 = this._attribute) {
14688
+ const target = attribute2;
14689
+ if (!target)
14690
+ return [];
14691
+ const keys = Object.keys(target);
14692
+ const names = /* @__PURE__ */ new Set();
14693
+ for (const k of keys) {
14694
+ names.add(k);
14695
+ }
14696
+ return Array.from(names);
14697
+ }
15570
14698
  getAttribute(name, attribute2 = this._attribute) {
15571
14699
  const target = attribute2;
15572
14700
  if (!target) {
@@ -15645,6 +14773,10 @@ ${indentStr}}`;
15645
14773
  }
15646
14774
  onCreatedThisChildDebounce(childrenSet) {
15647
14775
  }
14776
+ onRawSetRenderedDebounce(childrenSet) {
14777
+ }
14778
+ onChildRawSetRenderedDebounce() {
14779
+ }
15648
14780
  onCreateRenderData(data) {
15649
14781
  this._render = data.render;
15650
14782
  if (data.render?.rawSet) {
@@ -15658,7 +14790,7 @@ ${indentStr}}`;
15658
14790
  }
15659
14791
  }
15660
14792
  onChangeAttrRender(name, value, other) {
15661
- if (other.rawSet) {
14793
+ if (other?.rawSet) {
15662
14794
  this.setRawSet(other.rawSet);
15663
14795
  }
15664
14796
  const attributes = ReflectUtils.getMetadata(ATTRIBUTE_METADATA_KEY, this.constructor);
@@ -15682,6 +14814,12 @@ ${indentStr}}`;
15682
14814
  this.createChildrenDebounceSubscription = this.childrenSetSubject.pipe(debounceTime(this.componentConfig?.createChildrenDebounce ?? 0)).subscribe((it) => {
15683
14815
  this.onCreatedThisChildDebounce(it);
15684
14816
  });
14817
+ this.onRawSetRenderedOtherDataSubjectSubscription = this.onRawSetRenderedOtherDataSubject.pipe(bufferTime(this.componentConfig?.onRawSetRenderedOtherDataDebounce ?? 0)).subscribe((it) => {
14818
+ this.onRawSetRenderedDebounce(it);
14819
+ });
14820
+ this.onChildRawSetRenderedOtherDataSubjectSubscription = this.onChildRawSetRenderedOtherDataSubject.pipe(debounceTime(this.componentConfig?.onChildRawSetRenderedOtherDataDebounce ?? 0)).subscribe((it) => {
14821
+ this.onChildRawSetRenderedDebounce();
14822
+ });
15685
14823
  if (rawSet) {
15686
14824
  this.setRawSet(rawSet);
15687
14825
  const e = this.getElement();
@@ -15706,6 +14844,8 @@ ${indentStr}}`;
15706
14844
  this._cleanupEventBindings();
15707
14845
  this._clearAllRefreshTimers();
15708
14846
  this.createChildrenDebounceSubscription?.unsubscribe();
14847
+ this.onRawSetRenderedOtherDataSubjectSubscription?.unsubscribe();
14848
+ this.onChildRawSetRenderedOtherDataSubjectSubscription?.unsubscribe();
15709
14849
  }
15710
14850
  };
15711
14851
  __decorate([
@@ -15748,6 +14888,22 @@ ${indentStr}}`;
15748
14888
  DomRenderNoProxy,
15749
14889
  __metadata("design:type", Object)
15750
14890
  ], ComponentBase.prototype, "createChildrenDebounceSubscription", void 0);
14891
+ __decorate([
14892
+ DomRenderNoProxy,
14893
+ __metadata("design:type", Object)
14894
+ ], ComponentBase.prototype, "onRawSetRenderedOtherDataSubject", void 0);
14895
+ __decorate([
14896
+ DomRenderNoProxy,
14897
+ __metadata("design:type", Object)
14898
+ ], ComponentBase.prototype, "onChildRawSetRenderedOtherDataSubject", void 0);
14899
+ __decorate([
14900
+ DomRenderNoProxy,
14901
+ __metadata("design:type", Object)
14902
+ ], ComponentBase.prototype, "onRawSetRenderedOtherDataSubjectSubscription", void 0);
14903
+ __decorate([
14904
+ DomRenderNoProxy,
14905
+ __metadata("design:type", Object)
14906
+ ], ComponentBase.prototype, "onChildRawSetRenderedOtherDataSubjectSubscription", void 0);
15751
14907
 
15752
14908
  // src/components/router/RouterOutlet.ts
15753
14909
  var RouterOutlet;
@@ -15757,18 +14913,27 @@ ${indentStr}}`;
15757
14913
  constructor() {
15758
14914
  super(...arguments);
15759
14915
  this.if = null;
14916
+ this.sw = false;
15760
14917
  }
15761
14918
  setValue(value) {
15762
- this.value = value;
14919
+ this.sw = false;
14920
+ setTimeout(() => {
14921
+ this.value = value;
14922
+ }, 0);
14923
+ setTimeout(() => {
14924
+ this.sw = true;
14925
+ }, 0);
15763
14926
  }
15764
14927
  async onInitRender(param, rawSet) {
15765
14928
  await super.onInitRender(param, rawSet);
15766
14929
  const c = this.getParentThis();
15767
14930
  const userValue = this.getAttribute("value");
15768
- if (userValue) {
15769
- this.value = userValue;
15770
- } else if (c instanceof ComponentRouterBase) {
15771
- this.value = c.child;
14931
+ if (typeof userValue === "string") {
14932
+ this.setValue(c[userValue]);
14933
+ } else if (userValue instanceof ComponentSet) {
14934
+ this.setValue(userValue);
14935
+ } else if (!userValue && c instanceof ComponentRouterBase) {
14936
+ this.setValue(c.child);
15772
14937
  }
15773
14938
  }
15774
14939
  onDestroyRender(data) {
@@ -15777,7 +14942,7 @@ ${indentStr}}`;
15777
14942
  onChangeAttrRender(name, value, other) {
15778
14943
  super.onChangeAttrRender(name, value, other);
15779
14944
  if (this.equalsAttributeName(name, "value")) {
15780
- this.value = value;
14945
+ this.setValue(value);
15781
14946
  }
15782
14947
  if (this.equalsAttributeName(name, "if")) {
15783
14948
  this.if = value;
@@ -15785,6 +14950,9 @@ ${indentStr}}`;
15785
14950
  if (this.equalsAttributeName(name, "createArguments")) {
15786
14951
  this.createArguments = value;
15787
14952
  }
14953
+ if (this.childObject && this.childRawSet && isOnChangeAttrRender(this.childObject)) {
14954
+ this.childObject.onChangeAttrRender(name, value, { rawSet: this.childRawSet });
14955
+ }
15788
14956
  }
15789
14957
  onCreatedThisChild(child, data) {
15790
14958
  super.onCreatedThisChild(child, data);
@@ -15797,9 +14965,22 @@ ${indentStr}}`;
15797
14965
  }
15798
14966
  this.getAttribute("onCreatedDebounce")?.(this.value?.obj);
15799
14967
  }
15800
- created(component) {
15801
- component ?? (component = this.value?.obj);
15802
- this.getAttribute("onCreated")?.(component);
14968
+ onCreateDrThis($component, $rawSet) {
14969
+ this.childObject = $component ?? ($component = this.value?.obj);
14970
+ this.childRawSet = $rawSet;
14971
+ if ($component) {
14972
+ this.getAttribute("onCreated")?.($component);
14973
+ if (isOnChangeAttrRender($component)) {
14974
+ this.getAttributeNames().filter((it) => it.startsWith("attribute-")).forEach((it) => {
14975
+ var _a2;
14976
+ const attrName = it.replace(/^attribute-/, "");
14977
+ const attrValue = this.getAttribute(it);
14978
+ (_a2 = $rawSet.dataSet.render).attribute ?? (_a2.attribute = {});
14979
+ $rawSet.dataSet.render.attribute[attrName] = attrValue;
14980
+ $component.onChangeAttrRender(attrName, attrValue, { rawSet: $rawSet });
14981
+ });
14982
+ }
14983
+ }
15803
14984
  }
15804
14985
  }
15805
14986
  _RouterOutlet.RouterOutlet = RouterOutlet2;
@@ -15809,7 +14990,11 @@ ${indentStr}}`;
15809
14990
  routerOutlet: (config, executer) => {
15810
14991
  return RawSet.createComponentTargetElement({
15811
14992
  name: RouterOutlet.selector,
15812
- template: '<div dr-this="@this@.value" dr-detect-option-if="@this@?.value && @this@?.if" dr-option-strip="true" dr-on-create:arguments="@this@.createArguments" dr-on-create:callback="@this@?.created?.($component)">#innerHTML#</div>',
14993
+ template: `
14994
+ <dr-if value="\${@this@.sw}$">
14995
+ <div dr-this="@this@.value" dr-detect-option-if="@this@?.value && @this@?.if" dr-option-strip="true" dr-on-create:arguments="@this@.createArguments" dr-on-create:callback="@this@?.onCreateDrThis?.($component, $rawSet)">#innerHTML#</div>
14996
+ </dr-if>
14997
+ `,
15813
14998
  objFactory: (e, o, r2, counstructorParam) => {
15814
14999
  return executer?.run({ rootObject: new RouterOutlet.RouterOutlet(...counstructorParam), config });
15815
15000
  }
@@ -15869,6 +15054,7 @@ ${indentStr}}`;
15869
15054
  this.target = null;
15870
15055
  this.style = null;
15871
15056
  this.classAttr = null;
15057
+ this.drClass = null;
15872
15058
  this.click = null;
15873
15059
  this.replace = false;
15874
15060
  this.scrollToTop = true;
@@ -15893,6 +15079,21 @@ ${indentStr}}`;
15893
15079
  this.domRenderConfig?.router?.go({ path: this.href, replace: this.replace, scrollToTop: this.scrollToTop });
15894
15080
  }
15895
15081
  }
15082
+ onChangeAttrRender(name, value, other) {
15083
+ super.onChangeAttrRender(name, value, other);
15084
+ if (this.element && name.startsWith("attribute-")) {
15085
+ this.element.setAttribute(name, value);
15086
+ }
15087
+ }
15088
+ onAElementInit($element) {
15089
+ this.element = $element;
15090
+ this.getAttribute("onInit")?.($element);
15091
+ this.getAttributeNames().filter((it) => it.startsWith("attribute-")).forEach((it) => {
15092
+ const attrName = it.replace(/^attribute-/, "");
15093
+ const attrValue = this.getAttribute(it);
15094
+ this.element.setAttribute(attrName, attrValue);
15095
+ });
15096
+ }
15896
15097
  }
15897
15098
  __decorate2([
15898
15099
  attribute({ converter: (v) => v || null }),
@@ -15910,6 +15111,10 @@ ${indentStr}}`;
15910
15111
  attribute({ name: "class", converter: (v) => v || null }),
15911
15112
  __metadata2("design:type", String)
15912
15113
  ], A2.prototype, "classAttr", void 0);
15114
+ __decorate2([
15115
+ attribute({ name: "dr-class", converter: (v) => v || null }),
15116
+ __metadata2("design:type", String)
15117
+ ], A2.prototype, "drClass", void 0);
15913
15118
  __decorate2([
15914
15119
  attribute(),
15915
15120
  __metadata2("design:type", Function)
@@ -15934,6 +15139,8 @@ ${indentStr}}`;
15934
15139
  style="\${@this@.style}$"
15935
15140
  class="\${@this@.classAttr}$"
15936
15141
  dr-event-click="@this@.onClick($event)"
15142
+ dr-class="\${@this@.drClass}$"
15143
+ dr-on-init="@this@.onAElementInit($element)"
15937
15144
  >#innerHTML#</a>`,
15938
15145
  objFactory: (e, o, r2, constructorParam) => {
15939
15146
  return DomRender.run({ rootObject: new A.A(...constructorParam), config });
@@ -15943,10 +15150,23 @@ ${indentStr}}`;
15943
15150
  };
15944
15151
 
15945
15152
  // src/components/appender/Appender.ts
15153
+ var __decorate3 = function(decorators, target, key, desc) {
15154
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
15155
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
15156
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
15157
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
15158
+ };
15159
+ var __metadata3 = function(k, v) {
15160
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
15161
+ };
15946
15162
  var Appender;
15947
- ((_Appender) => {
15948
- _Appender.selector = "dr-appender";
15163
+ (function(Appender_1) {
15164
+ Appender_1.selector = "dr-appender";
15949
15165
  class Appender3 extends ComponentBase {
15166
+ constructor() {
15167
+ super(...arguments);
15168
+ this.drOptionItemVariableName = null;
15169
+ }
15950
15170
  // onCreateRender(...param: any) {
15951
15171
  // console.log('--onCreateRender')
15952
15172
  // }
@@ -15976,13 +15196,17 @@ ${indentStr}}`;
15976
15196
  }
15977
15197
  }
15978
15198
  }
15979
- _Appender.Appender = Appender3;
15199
+ __decorate3([
15200
+ attribute({ name: "dr-option-item-variable-name", converter: (v) => v || null }),
15201
+ __metadata3("design:type", String)
15202
+ ], Appender3.prototype, "drOptionItemVariableName", void 0);
15203
+ Appender_1.Appender = Appender3;
15980
15204
  })(Appender || (Appender = {}));
15981
15205
  var Appender_default = {
15982
15206
  appender: (config) => {
15983
15207
  return RawSet.createComponentTargetElement({
15984
15208
  name: Appender.selector,
15985
- template: '<div dr-appender="@this@.value" dr-option-strip="true">#innerHTML#</div>',
15209
+ template: '<div dr-appender="@this@.value" dr-option-item-variable-name="${@this@.drOptionItemVariableName}$" dr-option-strip="true">#innerHTML#</div>',
15986
15210
  objFactory: (e, o, r2, counstructorParam) => {
15987
15211
  return DomRender.run({ rootObject: new Appender.Appender(...counstructorParam), config });
15988
15212
  }
@@ -16232,6 +15456,11 @@ ${indentStr}}`;
16232
15456
  if (toggleAttribute) {
16233
15457
  toggleAttribute?.(element.open);
16234
15458
  }
15459
+ if (element.open) {
15460
+ this.getAttribute("onOpen")?.();
15461
+ } else {
15462
+ this.getAttribute("onClose")?.();
15463
+ }
16235
15464
  }
16236
15465
  async onInitRender(param, rawSet) {
16237
15466
  await super.onInitRender(param, rawSet);
@@ -16352,7 +15581,7 @@ ${indentStr}}`;
16352
15581
  // src/components/forOf/ForOf.ts
16353
15582
  var ForOf;
16354
15583
  ((_ForOf) => {
16355
- _ForOf.selector = "System:ForOf";
15584
+ _ForOf.selector = "dr-for-of";
16356
15585
  class ForOf2 extends ComponentBase {
16357
15586
  onChangeAttrRender(name, value, other) {
16358
15587
  super.onChangeAttrRender(name, value, other);
@@ -16363,6 +15592,17 @@ ${indentStr}}`;
16363
15592
  }
16364
15593
  _ForOf.ForOf = ForOf2;
16365
15594
  })(ForOf || (ForOf = {}));
15595
+ var ForOf_default = {
15596
+ forOf: (config) => {
15597
+ return RawSet.createComponentTargetElement({
15598
+ name: ForOf.selector,
15599
+ template: '<div dr-for-of="@this@.value" >#innerHTML#</div>',
15600
+ objFactory: (e, o, r2, counstructorParam) => {
15601
+ return DomRender.run({ rootObject: new ForOf.ForOf(...counstructorParam), config });
15602
+ }
15603
+ });
15604
+ }
15605
+ };
16366
15606
 
16367
15607
  // src/components/if/If.ts
16368
15608
  var If;
@@ -16389,7 +15629,7 @@ ${indentStr}}`;
16389
15629
  if: (config) => {
16390
15630
  return RawSet.createComponentTargetElement({
16391
15631
  name: If.selector,
16392
- template: '<div dr-if="@this@.sw" >#innerHTML#</div>',
15632
+ template: '<div dr-if="@this@.sw" dr-option-strip="true" >#innerHTML#</div>',
16393
15633
  objFactory: (e, o, r2, counstructorParam) => {
16394
15634
  return DomRender.run({ rootObject: new If.If(...counstructorParam), config });
16395
15635
  }
@@ -16783,13 +16023,13 @@ ${indentStr}}`;
16783
16023
  };
16784
16024
 
16785
16025
  // src/components/router/Route.ts
16786
- var __decorate3 = function(decorators, target, key, desc) {
16026
+ var __decorate4 = function(decorators, target, key, desc) {
16787
16027
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
16788
16028
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
16789
16029
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
16790
16030
  return c > 3 && r && Object.defineProperty(target, key, r), r;
16791
16031
  };
16792
- var __metadata3 = function(k, v) {
16032
+ var __metadata4 = function(k, v) {
16793
16033
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
16794
16034
  };
16795
16035
  var Route;
@@ -16822,13 +16062,13 @@ ${indentStr}}`;
16822
16062
  this.routerSubscription?.unsubscribe();
16823
16063
  }
16824
16064
  }
16825
- __decorate3([
16065
+ __decorate4([
16826
16066
  attribute({ name: "value" }),
16827
- __metadata3("design:type", String)
16067
+ __metadata4("design:type", String)
16828
16068
  ], CheckerBase.prototype, "value", void 0);
16829
- __decorate3([
16069
+ __decorate4([
16830
16070
  DomRenderNoProxy,
16831
- __metadata3("design:type", Object)
16071
+ __metadata4("design:type", Object)
16832
16072
  ], CheckerBase.prototype, "inputDomRenderConfig", void 0);
16833
16073
  class Match extends CheckerBase {
16834
16074
  check(config) {
@@ -16865,13 +16105,13 @@ ${indentStr}}`;
16865
16105
  };
16866
16106
 
16867
16107
  // src/components/select/Select.ts
16868
- var __decorate4 = function(decorators, target, key, desc) {
16108
+ var __decorate5 = function(decorators, target, key, desc) {
16869
16109
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
16870
16110
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
16871
16111
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
16872
16112
  return c > 3 && r && Object.defineProperty(target, key, r), r;
16873
16113
  };
16874
- var __metadata4 = function(k, v) {
16114
+ var __metadata5 = function(k, v) {
16875
16115
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
16876
16116
  };
16877
16117
  var Select;
@@ -17016,21 +16256,21 @@ ${indentStr}}`;
17016
16256
  }
17017
16257
  }
17018
16258
  }
17019
- __decorate4([
16259
+ __decorate5([
17020
16260
  attribute({ name: "value" }),
17021
- __metadata4("design:type", String)
16261
+ __metadata5("design:type", String)
17022
16262
  ], Option.prototype, "value", void 0);
17023
- __decorate4([
16263
+ __decorate5([
17024
16264
  attribute({ name: "selected", converter: (v) => v !== null && v === true }),
17025
- __metadata4("design:type", Object)
16265
+ __metadata5("design:type", Object)
17026
16266
  ], Option.prototype, "selected", void 0);
17027
- __decorate4([
16267
+ __decorate5([
17028
16268
  attribute({ name: "disabled", converter: (v) => v !== null && v === true }),
17029
- __metadata4("design:type", Object)
16269
+ __metadata5("design:type", Object)
17030
16270
  ], Option.prototype, "disabled", void 0);
17031
- __decorate4([
16271
+ __decorate5([
17032
16272
  attribute({ name: "class", converter: (v) => v ? v : null }),
17033
- __metadata4("design:type", String)
16273
+ __metadata5("design:type", String)
17034
16274
  ], Option.prototype, "classAttr", void 0);
17035
16275
  Select_1.Option = Option;
17036
16276
  class Summary extends ComponentBase {
@@ -17095,9 +16335,9 @@ ${indentStr}}`;
17095
16335
  }
17096
16336
  }
17097
16337
  }
17098
- __decorate4([
16338
+ __decorate5([
17099
16339
  attribute({ name: "class", converter: (v) => v === "" ? null : v }),
17100
- __metadata4("design:type", String)
16340
+ __metadata5("design:type", String)
17101
16341
  ], Summary.prototype, "classAttr", void 0);
17102
16342
  Select_1.Summary = Summary;
17103
16343
  class SelectBody extends ComponentBase {
@@ -17133,13 +16373,13 @@ ${indentStr}}`;
17133
16373
  select?.setOptions(options);
17134
16374
  }
17135
16375
  }
17136
- __decorate4([
16376
+ __decorate5([
17137
16377
  attribute({ name: "class", converter: (v) => v === "" ? null : v }),
17138
- __metadata4("design:type", String)
16378
+ __metadata5("design:type", String)
17139
16379
  ], SelectBody.prototype, "classAttr", void 0);
17140
- __decorate4([
16380
+ __decorate5([
17141
16381
  attribute({ name: "float" }),
17142
- __metadata4("design:type", String)
16382
+ __metadata5("design:type", String)
17143
16383
  ], SelectBody.prototype, "float", void 0);
17144
16384
  Select_1.SelectBody = SelectBody;
17145
16385
  class Select2 extends ComponentBase {
@@ -17152,6 +16392,13 @@ ${indentStr}}`;
17152
16392
  this.selectedValues = [];
17153
16393
  this.selectedOptions = [];
17154
16394
  }
16395
+ // get value(): string | (string | null)[] | null | undefined {
16396
+ // return this._value;
16397
+ // }
16398
+ // set value(val: string | (string | null)[] | null | undefined) {
16399
+ // console.log('value set', val)
16400
+ // this._value = val;
16401
+ // }
17155
16402
  get optionComponents() {
17156
16403
  return this.getChildren(Option);
17157
16404
  }
@@ -17195,13 +16442,17 @@ ${indentStr}}`;
17195
16442
  const summaries = this.getChildren(Summary);
17196
16443
  this.options = options;
17197
16444
  const values = this.options.filter((it) => it.selected && !it.disabled).map((it) => it.value);
17198
- this.getAttribute("changeSelected")?.(values);
17199
16445
  summaries?.forEach((it) => {
17200
16446
  it.setDisabled(this.disabled);
17201
16447
  if (!this.disabled) {
17202
16448
  it.setOptions(options);
17203
16449
  }
17204
16450
  });
16451
+ this.selectedValues = values;
16452
+ this.selectedOptions = this.options.filter((it) => it.selected && !it.disabled);
16453
+ this.value = this.selectedValues[0];
16454
+ this.getAttribute("onchange")?.(this.value);
16455
+ this.getAttribute("onchangeValues")?.(values);
17205
16456
  }
17206
16457
  onInitDetailsElement(detailsElement) {
17207
16458
  this.element = detailsElement;
@@ -17215,46 +16466,73 @@ ${indentStr}}`;
17215
16466
  this.documentClickSubscription?.unsubscribe();
17216
16467
  this.windowBlurSubscription?.unsubscribe();
17217
16468
  }
16469
+ setValue(value) {
16470
+ this.value = value;
16471
+ if (this.options) {
16472
+ this.options.forEach((it) => {
16473
+ it.selected = false;
16474
+ it.updateStatus();
16475
+ });
16476
+ for (let option of this.options) {
16477
+ if (option.value === value) {
16478
+ option.selected = true;
16479
+ if (!this.multiple) {
16480
+ break;
16481
+ }
16482
+ } else {
16483
+ option.selected = false;
16484
+ }
16485
+ option.updateStatus();
16486
+ }
16487
+ }
16488
+ console.log("value set", value);
16489
+ }
17218
16490
  test() {
17219
16491
  console.log("tttttttt");
17220
16492
  }
17221
16493
  }
17222
- __decorate4([
16494
+ __decorate5([
17223
16495
  attribute({ name: "multiple", converter: (v) => v !== null }),
17224
- __metadata4("design:type", Object)
16496
+ __metadata5("design:type", Object)
17225
16497
  ], Select2.prototype, "multiple", void 0);
17226
- __decorate4([
16498
+ __decorate5([
17227
16499
  attribute({ name: "disabled", converter: (v) => v !== null }),
17228
- __metadata4("design:type", Object)
16500
+ __metadata5("design:type", Object)
17229
16501
  ], Select2.prototype, "disabled", void 0);
17230
- __decorate4([
16502
+ __decorate5([
17231
16503
  attribute({ name: "class", converter: (v) => v === "" ? null : v }),
17232
- __metadata4("design:type", String)
16504
+ __metadata5("design:type", String)
17233
16505
  ], Select2.prototype, "classAttr", void 0);
17234
- __decorate4([
16506
+ __decorate5([
17235
16507
  attribute({ name: "name", converter: (v) => v === "" ? null : v }),
17236
- __metadata4("design:type", String)
16508
+ __metadata5("design:type", String)
17237
16509
  ], Select2.prototype, "name", void 0);
17238
- __decorate4([
16510
+ __decorate5([
17239
16511
  DomRenderNoProxy,
17240
- __metadata4("design:type", typeof (_a2 = typeof HTMLDetailsElement !== "undefined" && HTMLDetailsElement) === "function" ? _a2 : Object)
16512
+ __metadata5("design:type", typeof (_a2 = typeof HTMLDetailsElement !== "undefined" && HTMLDetailsElement) === "function" ? _a2 : Object)
17241
16513
  ], Select2.prototype, "element", void 0);
17242
- __decorate4([
16514
+ __decorate5([
17243
16515
  DomRenderNoProxy,
17244
- __metadata4("design:type", Object)
16516
+ __metadata5("design:type", Object)
17245
16517
  ], Select2.prototype, "documentClickSubscription", void 0);
17246
- __decorate4([
16518
+ __decorate5([
17247
16519
  DomRenderNoProxy,
17248
- __metadata4("design:type", Object)
16520
+ __metadata5("design:type", Object)
17249
16521
  ], Select2.prototype, "windowBlurSubscription", void 0);
17250
- __decorate4([
16522
+ __decorate5([
17251
16523
  DomRenderNoProxy,
17252
- __metadata4("design:type", Summary)
16524
+ __metadata5("design:type", Summary)
17253
16525
  ], Select2.prototype, "summaryComponent", void 0);
17254
- __decorate4([
16526
+ __decorate5([
17255
16527
  DomRenderNoProxy,
17256
- __metadata4("design:type", SelectBody)
16528
+ __metadata5("design:type", SelectBody)
17257
16529
  ], Select2.prototype, "selectBodyComponent", void 0);
16530
+ __decorate5([
16531
+ attribute("value"),
16532
+ __metadata5("design:type", Function),
16533
+ __metadata5("design:paramtypes", [String]),
16534
+ __metadata5("design:returntype", void 0)
16535
+ ], Select2.prototype, "setValue", null);
17258
16536
  Select_1.Select = Select2;
17259
16537
  })(Select || (Select = {}));
17260
16538
  var stateComponentFactory = (name, type) => {
@@ -17322,6 +16600,16 @@ ${indentStr}}`;
17322
16600
  constructor() {
17323
16601
  super(...arguments);
17324
16602
  this.if = null;
16603
+ this.sw = false;
16604
+ }
16605
+ setValue(value) {
16606
+ this.sw = false;
16607
+ setTimeout(() => {
16608
+ this.value = value;
16609
+ }, 0);
16610
+ setTimeout(() => {
16611
+ this.sw = true;
16612
+ }, 0);
17325
16613
  }
17326
16614
  async onInitRender(param, rawSet) {
17327
16615
  await super.onInitRender(param, rawSet);
@@ -17332,7 +16620,7 @@ ${indentStr}}`;
17332
16620
  onChangeAttrRender(name, value, other) {
17333
16621
  super.onChangeAttrRender(name, value, other);
17334
16622
  if (this.equalsAttributeName(name, "value")) {
17335
- this.value = value;
16623
+ this.setValue(value);
17336
16624
  }
17337
16625
  if (this.equalsAttributeName(name, "if")) {
17338
16626
  this.if = value;
@@ -17341,9 +16629,22 @@ ${indentStr}}`;
17341
16629
  this.createArguments = value;
17342
16630
  }
17343
16631
  }
17344
- created(component) {
17345
- component ?? (component = this.value?.obj);
17346
- this.getAttribute("onCreated")?.(component);
16632
+ created($component, $rawSet) {
16633
+ this.childObject = $component ?? ($component = this.value?.obj);
16634
+ this.childRawSet = $rawSet;
16635
+ if ($component) {
16636
+ this.getAttribute("onCreated")?.($component);
16637
+ if (isOnChangeAttrRender($component)) {
16638
+ this.getAttributeNames().filter((it) => it.startsWith("attribute-")).forEach((it) => {
16639
+ var _a2;
16640
+ const attrName = it.replace(/^attribute-/, "");
16641
+ const attrValue = this.getAttribute(it);
16642
+ (_a2 = $rawSet.dataSet.render).attribute ?? (_a2.attribute = {});
16643
+ $rawSet.dataSet.render.attribute[attrName] = attrValue;
16644
+ $component.onChangeAttrRender(attrName, attrValue, { rawSet: $rawSet });
16645
+ });
16646
+ }
16647
+ }
17347
16648
  }
17348
16649
  }
17349
16650
  _This.This = This2;
@@ -17352,7 +16653,11 @@ ${indentStr}}`;
17352
16653
  this: (config) => {
17353
16654
  return RawSet.createComponentTargetElement({
17354
16655
  name: This.selector,
17355
- template: '<div dr-this="@this@.value" dr-detect-option-if="@this@?.value && @this@?.if" dr-option-strip="true" dr-on-create:arguments="@this@.createArguments" dr-on-create:callback="@this@?.created?.($component)">#innerHTML#</div>',
16656
+ template: `
16657
+ <dr-if value="\${@this@.sw}$">
16658
+ <div dr-this="@this@.value" dr-detect-option-if="@this@?.value && @this@?.if" dr-option-strip="true" dr-on-create:arguments="@this@.createArguments" dr-on-create:callback="@this@?.created?.($component, $rawSet)">#innerHTML#</div>
16659
+ </dr-if>
16660
+ `,
17356
16661
  objFactory: (e, o, r2, counstructorParam) => {
17357
16662
  return DomRender.run({ rootObject: new This.This(...counstructorParam), config });
17358
16663
  }
@@ -17436,7 +16741,8 @@ ${indentStr}}`;
17436
16741
  ...Input_default,
17437
16742
  ...Route_default,
17438
16743
  ...RouterOutlet_default,
17439
- ...A_default
16744
+ ...A_default,
16745
+ ...ForOf_default
17440
16746
  };
17441
16747
 
17442
16748
  // src/DomRender.ts
@@ -17604,6 +16910,13 @@ ${indentStr}}`;
17604
16910
  }
17605
16911
  };
17606
16912
  }
16913
+ get(key) {
16914
+ const o = this.keyMap.get(key);
16915
+ if (o !== void 0) {
16916
+ return this[o];
16917
+ }
16918
+ return void 0;
16919
+ }
17607
16920
  set(key, ...v) {
17608
16921
  const o = this.keyMap.get(key);
17609
16922
  if (o !== void 0) {
@@ -17616,7 +16929,7 @@ ${indentStr}}`;
17616
16929
  delete(key) {
17617
16930
  const o = this.keyMap.get(key);
17618
16931
  if (o !== void 0) {
17619
- this[o] = [];
16932
+ this[o] = this[o].map((it) => void 0);
17620
16933
  this.keyMap.delete(key);
17621
16934
  }
17622
16935
  }
@@ -18002,22 +17315,6 @@ ${indentStr}}`;
18002
17315
  })();
18003
17316
  /*! Bundled license information:
18004
17317
 
18005
- reflect-metadata/Reflect.js:
18006
- (*! *****************************************************************************
18007
- Copyright (C) Microsoft. All rights reserved.
18008
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
18009
- this file except in compliance with the License. You may obtain a copy of the
18010
- License at http://www.apache.org/licenses/LICENSE-2.0
18011
-
18012
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
18013
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
18014
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
18015
- MERCHANTABLITY OR NON-INFRINGEMENT.
18016
-
18017
- See the Apache Version 2.0 License for specific language governing permissions
18018
- and limitations under the License.
18019
- ***************************************************************************** *)
18020
-
18021
17318
  reflect-metadata/Reflect.js:
18022
17319
  (*! *****************************************************************************
18023
17320
  Copyright (C) Microsoft. All rights reserved.