@dooboostore/dom-render 1.0.106 → 1.0.107

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 (632) hide show
  1. package/dist/cjs/DomRender.d.js +16 -0
  2. package/dist/cjs/DomRender.d.js.map +7 -0
  3. package/dist/cjs/DomRender.js +5 -0
  4. package/dist/cjs/DomRender.js.map +1 -1
  5. package/dist/cjs/DomRenderProxy.d.js +17 -0
  6. package/dist/cjs/DomRenderProxy.d.js.map +7 -0
  7. package/dist/cjs/DomRenderProxy.d.ts +0 -1
  8. package/dist/cjs/DomRenderProxy.d.ts.map +1 -1
  9. package/dist/cjs/DomRenderProxy.js +6 -4
  10. package/dist/cjs/DomRenderProxy.js.map +2 -2
  11. package/dist/cjs/components/ComponentBase.d.js +17 -0
  12. package/dist/cjs/components/ComponentBase.d.js.map +7 -0
  13. package/dist/cjs/components/ComponentBase.d.ts +0 -1
  14. package/dist/cjs/components/ComponentBase.d.ts.map +1 -1
  15. package/dist/cjs/components/ComponentBase.js +71 -54
  16. package/dist/cjs/components/ComponentBase.js.map +2 -2
  17. package/dist/cjs/components/ComponentRouterBase.d.js +16 -0
  18. package/dist/cjs/components/ComponentRouterBase.d.js.map +7 -0
  19. package/dist/cjs/components/ComponentRouterBase.js +4 -0
  20. package/dist/cjs/components/ComponentRouterBase.js.map +1 -1
  21. package/dist/cjs/components/ComponentSet.d.js +16 -0
  22. package/dist/cjs/components/ComponentSet.d.js.map +7 -0
  23. package/dist/cjs/components/ComponentSet.js +5 -0
  24. package/dist/cjs/components/ComponentSet.js.map +1 -1
  25. package/dist/cjs/components/a/A.d.js +24 -0
  26. package/dist/cjs/components/a/A.d.js.map +7 -0
  27. package/dist/cjs/components/a/A.d.ts +1 -1
  28. package/dist/cjs/components/a/A.js +40 -32
  29. package/dist/cjs/components/a/A.js.map +1 -1
  30. package/dist/cjs/components/a/index.d.js +18 -0
  31. package/dist/cjs/components/a/index.d.js.map +7 -0
  32. package/dist/cjs/components/appender/Appender.d.js +24 -0
  33. package/dist/cjs/components/appender/Appender.d.js.map +7 -0
  34. package/dist/cjs/components/appender/Appender.d.ts +1 -1
  35. package/dist/cjs/components/appender/Appender.js +6 -0
  36. package/dist/cjs/components/appender/Appender.js.map +1 -1
  37. package/dist/cjs/components/appender/index.d.js +18 -0
  38. package/dist/cjs/components/appender/index.d.js.map +7 -0
  39. package/dist/cjs/components/checkbox/CheckBox.d.js +24 -0
  40. package/dist/cjs/components/checkbox/CheckBox.d.js.map +7 -0
  41. package/dist/cjs/components/checkbox/CheckBox.d.ts +3 -3
  42. package/dist/cjs/components/checkbox/CheckBox.js +7 -4
  43. package/dist/cjs/components/checkbox/CheckBox.js.map +1 -1
  44. package/dist/cjs/components/checkbox/index.d.js +18 -0
  45. package/dist/cjs/components/checkbox/index.d.js.map +7 -0
  46. package/dist/cjs/components/choose/Choose.d.js +24 -0
  47. package/dist/cjs/components/choose/Choose.d.js.map +7 -0
  48. package/dist/cjs/components/choose/Choose.d.ts +3 -3
  49. package/dist/cjs/components/choose/Choose.js +11 -1
  50. package/dist/cjs/components/choose/Choose.js.map +1 -1
  51. package/dist/cjs/components/choose/index.d.js +18 -0
  52. package/dist/cjs/components/choose/index.d.js.map +7 -0
  53. package/dist/cjs/components/details/Details.d.js +24 -0
  54. package/dist/cjs/components/details/Details.d.js.map +7 -0
  55. package/dist/cjs/components/details/Details.d.ts +4 -4
  56. package/dist/cjs/components/details/Details.js +11 -0
  57. package/dist/cjs/components/details/Details.js.map +1 -1
  58. package/dist/cjs/components/details/index.d.js +18 -0
  59. package/dist/cjs/components/details/index.d.js.map +7 -0
  60. package/dist/cjs/components/forOf/ForOf.d.js +24 -0
  61. package/dist/cjs/components/forOf/ForOf.d.js.map +7 -0
  62. package/dist/cjs/components/forOf/ForOf.d.ts +1 -1
  63. package/dist/cjs/components/forOf/ForOf.js +6 -0
  64. package/dist/cjs/components/forOf/ForOf.js.map +1 -1
  65. package/dist/cjs/components/forOf/index.d.js +18 -0
  66. package/dist/cjs/components/forOf/index.d.js.map +7 -0
  67. package/dist/cjs/components/if/If.d.js +24 -0
  68. package/dist/cjs/components/if/If.d.js.map +7 -0
  69. package/dist/cjs/components/if/If.d.ts +1 -1
  70. package/dist/cjs/components/if/If.js +3 -1
  71. package/dist/cjs/components/if/If.js.map +1 -1
  72. package/dist/cjs/components/if/index.d.js +18 -0
  73. package/dist/cjs/components/if/index.d.js.map +7 -0
  74. package/dist/cjs/components/index.d.js +34 -0
  75. package/dist/cjs/components/index.d.js.map +7 -0
  76. package/dist/cjs/components/index.d.ts +37 -37
  77. package/dist/cjs/components/input/Input.d.js +24 -0
  78. package/dist/cjs/components/input/Input.d.js.map +7 -0
  79. package/dist/cjs/components/input/Input.d.ts +1 -1
  80. package/dist/cjs/components/input/Input.js +8 -0
  81. package/dist/cjs/components/input/Input.js.map +1 -1
  82. package/dist/cjs/components/input/index.d.js +18 -0
  83. package/dist/cjs/components/input/index.d.js.map +7 -0
  84. package/dist/cjs/components/promise/PromiseSwitch.d.js +24 -0
  85. package/dist/cjs/components/promise/PromiseSwitch.d.js.map +7 -0
  86. package/dist/cjs/components/promise/PromiseSwitch.d.ts +5 -5
  87. package/dist/cjs/components/promise/PromiseSwitch.js +20 -1
  88. package/dist/cjs/components/promise/PromiseSwitch.js.map +1 -1
  89. package/dist/cjs/components/promise/index.d.js +18 -0
  90. package/dist/cjs/components/promise/index.d.js.map +7 -0
  91. package/dist/cjs/components/radio/Radio.d.js +24 -0
  92. package/dist/cjs/components/radio/Radio.d.js.map +7 -0
  93. package/dist/cjs/components/radio/Radio.d.ts +3 -3
  94. package/dist/cjs/components/radio/Radio.js +7 -4
  95. package/dist/cjs/components/radio/Radio.js.map +1 -1
  96. package/dist/cjs/components/radio/index.d.js +18 -0
  97. package/dist/cjs/components/radio/index.d.js.map +7 -0
  98. package/dist/cjs/components/router/Route.d.js +24 -0
  99. package/dist/cjs/components/router/Route.d.js.map +7 -0
  100. package/dist/cjs/components/router/Route.d.ts +2 -2
  101. package/dist/cjs/components/router/Route.js +18 -15
  102. package/dist/cjs/components/router/Route.js.map +1 -1
  103. package/dist/cjs/components/router/RouterOutlet.d.js +24 -0
  104. package/dist/cjs/components/router/RouterOutlet.d.js.map +7 -0
  105. package/dist/cjs/components/router/RouterOutlet.d.ts +1 -1
  106. package/dist/cjs/components/router/RouterOutlet.js +5 -1
  107. package/dist/cjs/components/router/RouterOutlet.js.map +1 -1
  108. package/dist/cjs/components/router/index.d.js +19 -0
  109. package/dist/cjs/components/router/index.d.js.map +7 -0
  110. package/dist/cjs/components/select/Select.d.js +24 -0
  111. package/dist/cjs/components/select/Select.d.js.map +7 -0
  112. package/dist/cjs/components/select/Select.d.ts +10 -10
  113. package/dist/cjs/components/select/Select.js +86 -69
  114. package/dist/cjs/components/select/Select.js.map +2 -2
  115. package/dist/cjs/components/select/index.d.js +18 -0
  116. package/dist/cjs/components/select/index.d.js.map +7 -0
  117. package/dist/cjs/components/this/This.d.js +24 -0
  118. package/dist/cjs/components/this/This.d.js.map +7 -0
  119. package/dist/cjs/components/this/This.d.ts +1 -1
  120. package/dist/cjs/components/this/This.js +5 -1
  121. package/dist/cjs/components/this/This.js.map +1 -1
  122. package/dist/cjs/components/this/index.d.js +18 -0
  123. package/dist/cjs/components/this/index.d.js.map +7 -0
  124. package/dist/cjs/components/timer/Timer.d.js +24 -0
  125. package/dist/cjs/components/timer/Timer.d.js.map +7 -0
  126. package/dist/cjs/components/timer/Timer.d.ts +1 -1
  127. package/dist/cjs/components/timer/Timer.js +7 -0
  128. package/dist/cjs/components/timer/Timer.js.map +1 -1
  129. package/dist/cjs/components/timer/index.d.js +18 -0
  130. package/dist/cjs/components/timer/index.d.js.map +7 -0
  131. package/dist/cjs/configs/DomRenderConfig.d.js +16 -0
  132. package/dist/cjs/configs/DomRenderConfig.d.js.map +7 -0
  133. package/dist/cjs/configs/TargetAttr.d.js +16 -0
  134. package/dist/cjs/configs/TargetAttr.d.js.map +7 -0
  135. package/dist/cjs/configs/TargetElement.d.js +16 -0
  136. package/dist/cjs/configs/TargetElement.d.js.map +7 -0
  137. package/dist/cjs/decorators/DomRenderNoProxy.d.js +17 -0
  138. package/dist/cjs/decorators/DomRenderNoProxy.d.js.map +7 -0
  139. package/dist/cjs/decorators/DomRenderNoProxy.d.ts +0 -1
  140. package/dist/cjs/decorators/DomRenderNoProxy.d.ts.map +1 -1
  141. package/dist/cjs/decorators/DomRenderNoProxy.js +0 -1
  142. package/dist/cjs/decorators/DomRenderNoProxy.js.map +2 -2
  143. package/dist/cjs/events/EventManager.d.js +16 -0
  144. package/dist/cjs/events/EventManager.d.js.map +7 -0
  145. package/dist/cjs/events/EventManager.js +58 -56
  146. package/dist/cjs/events/EventManager.js.map +1 -1
  147. package/dist/cjs/index.d.ts +2 -15
  148. package/dist/cjs/index.d.ts.map +1 -1
  149. package/dist/cjs/index.js +2 -41
  150. package/dist/cjs/index.js.map +2 -2
  151. package/dist/cjs/iterators/Range.d.js +16 -0
  152. package/dist/cjs/iterators/Range.d.js.map +7 -0
  153. package/dist/cjs/iterators/Range.js +9 -1
  154. package/dist/cjs/iterators/Range.js.map +1 -1
  155. package/dist/cjs/lifecycle/OnBeforeReturnSet.d.js +16 -0
  156. package/dist/cjs/lifecycle/OnBeforeReturnSet.d.js.map +7 -0
  157. package/dist/cjs/lifecycle/OnChangeAttrRender.d.js +16 -0
  158. package/dist/cjs/lifecycle/OnChangeAttrRender.d.js.map +7 -0
  159. package/dist/cjs/lifecycle/OnChildRenderedByProperty.d.js +16 -0
  160. package/dist/cjs/lifecycle/OnChildRenderedByProperty.d.js.map +7 -0
  161. package/dist/cjs/lifecycle/OnCreateRender.d.js +16 -0
  162. package/dist/cjs/lifecycle/OnCreateRender.d.js.map +7 -0
  163. package/dist/cjs/lifecycle/OnCreateRenderData.d.js +16 -0
  164. package/dist/cjs/lifecycle/OnCreateRenderData.d.js.map +7 -0
  165. package/dist/cjs/lifecycle/OnCreatedThisChild.d.js +16 -0
  166. package/dist/cjs/lifecycle/OnCreatedThisChild.d.js.map +7 -0
  167. package/dist/cjs/lifecycle/OnDestroyRender.d.js +16 -0
  168. package/dist/cjs/lifecycle/OnDestroyRender.d.js.map +7 -0
  169. package/dist/cjs/lifecycle/OnInitRender.d.js +16 -0
  170. package/dist/cjs/lifecycle/OnInitRender.d.js.map +7 -0
  171. package/dist/cjs/lifecycle/OnProxyDomRender.d.js +16 -0
  172. package/dist/cjs/lifecycle/OnProxyDomRender.d.js.map +7 -0
  173. package/dist/cjs/lifecycle/dr-this/OnDrThisBind.d.js +16 -0
  174. package/dist/cjs/lifecycle/dr-this/OnDrThisBind.d.js.map +7 -0
  175. package/dist/cjs/lifecycle/dr-this/OnDrThisUnBind.d.js +16 -0
  176. package/dist/cjs/lifecycle/dr-this/OnDrThisUnBind.d.js.map +7 -0
  177. package/dist/cjs/messenger/DefaultMessenger.d.js +16 -0
  178. package/dist/cjs/messenger/DefaultMessenger.d.js.map +7 -0
  179. package/dist/cjs/messenger/Messenger.d.js +16 -0
  180. package/dist/cjs/messenger/Messenger.d.js.map +7 -0
  181. package/dist/cjs/messenger/Messenger.js +8 -5
  182. package/dist/cjs/messenger/Messenger.js.map +1 -1
  183. package/dist/cjs/operators/Appender.d.js +16 -0
  184. package/dist/cjs/operators/Appender.d.js.map +7 -0
  185. package/dist/cjs/operators/Appender.js +5 -3
  186. package/dist/cjs/operators/Appender.js.map +1 -1
  187. package/dist/cjs/operators/Dr.d.js +16 -0
  188. package/dist/cjs/operators/Dr.d.js.map +7 -0
  189. package/dist/cjs/operators/DrAppender.d.js +16 -0
  190. package/dist/cjs/operators/DrAppender.d.js.map +7 -0
  191. package/dist/cjs/operators/DrFor.d.js +16 -0
  192. package/dist/cjs/operators/DrFor.d.js.map +7 -0
  193. package/dist/cjs/operators/DrForOf.d.js +16 -0
  194. package/dist/cjs/operators/DrForOf.d.js.map +7 -0
  195. package/dist/cjs/operators/DrForOf.js +2 -2
  196. package/dist/cjs/operators/DrForOf.js.map +2 -2
  197. package/dist/cjs/operators/DrForm.d.js +16 -0
  198. package/dist/cjs/operators/DrForm.d.js.map +7 -0
  199. package/dist/cjs/operators/DrIf.d.js +16 -0
  200. package/dist/cjs/operators/DrIf.d.js.map +7 -0
  201. package/dist/cjs/operators/DrIf.js +3 -3
  202. package/dist/cjs/operators/DrIf.js.map +2 -2
  203. package/dist/cjs/operators/DrInnerHTML.d.js +16 -0
  204. package/dist/cjs/operators/DrInnerHTML.d.js.map +7 -0
  205. package/dist/cjs/operators/DrInnerText.d.js +16 -0
  206. package/dist/cjs/operators/DrInnerText.d.js.map +7 -0
  207. package/dist/cjs/operators/DrPre.d.js +16 -0
  208. package/dist/cjs/operators/DrPre.d.js.map +7 -0
  209. package/dist/cjs/operators/DrRepeat.d.js +16 -0
  210. package/dist/cjs/operators/DrRepeat.d.js.map +7 -0
  211. package/dist/cjs/operators/DrStripElement.d.js +16 -0
  212. package/dist/cjs/operators/DrStripElement.d.js.map +7 -0
  213. package/dist/cjs/operators/DrTargetAttr.d.js +16 -0
  214. package/dist/cjs/operators/DrTargetAttr.d.js.map +7 -0
  215. package/dist/cjs/operators/DrTargetElement.d.js +16 -0
  216. package/dist/cjs/operators/DrTargetElement.d.js.map +7 -0
  217. package/dist/cjs/operators/DrTargetElementIsElement.d.js +16 -0
  218. package/dist/cjs/operators/DrTargetElementIsElement.d.js.map +7 -0
  219. package/dist/cjs/operators/DrThis.d.js +16 -0
  220. package/dist/cjs/operators/DrThis.d.js.map +7 -0
  221. package/dist/cjs/operators/DrThisProperty.d.js +16 -0
  222. package/dist/cjs/operators/DrThisProperty.d.js.map +7 -0
  223. package/dist/cjs/operators/OperatorExecuter.d.js +16 -0
  224. package/dist/cjs/operators/OperatorExecuter.d.js.map +7 -0
  225. package/dist/cjs/operators/OperatorExecuter.js +2 -2
  226. package/dist/cjs/operators/OperatorExecuter.js.map +2 -2
  227. package/dist/cjs/operators/OperatorExecuterAttrRequire.d.js +16 -0
  228. package/dist/cjs/operators/OperatorExecuterAttrRequire.d.js.map +7 -0
  229. package/dist/cjs/rawsets/AttrInitCallBack.d.js +16 -0
  230. package/dist/cjs/rawsets/AttrInitCallBack.d.js.map +7 -0
  231. package/dist/cjs/rawsets/Attrs.d.js +16 -0
  232. package/dist/cjs/rawsets/Attrs.d.js.map +7 -0
  233. package/dist/cjs/rawsets/CreatorMetaData.d.js +16 -0
  234. package/dist/cjs/rawsets/CreatorMetaData.d.js.map +7 -0
  235. package/dist/cjs/rawsets/DestroyOptionType.d.js +16 -0
  236. package/dist/cjs/rawsets/DestroyOptionType.d.js.map +7 -0
  237. package/dist/cjs/rawsets/ElementInitCallBack.d.js +16 -0
  238. package/dist/cjs/rawsets/ElementInitCallBack.d.js.map +7 -0
  239. package/dist/cjs/rawsets/RawSet.d.js +16 -0
  240. package/dist/cjs/rawsets/RawSet.d.js.map +7 -0
  241. package/dist/cjs/rawsets/RawSet.js +64 -62
  242. package/dist/cjs/rawsets/RawSet.js.map +2 -2
  243. package/dist/cjs/rawsets/RawSetOperatorType.d.js +16 -0
  244. package/dist/cjs/rawsets/RawSetOperatorType.d.js.map +7 -0
  245. package/dist/cjs/rawsets/RawSetType.d.js +16 -0
  246. package/dist/cjs/rawsets/RawSetType.d.js.map +7 -0
  247. package/dist/cjs/rawsets/Render.d.js +16 -0
  248. package/dist/cjs/rawsets/Render.d.js.map +7 -0
  249. package/dist/cjs/routers/HashRouter.d.js +16 -0
  250. package/dist/cjs/routers/HashRouter.d.js.map +7 -0
  251. package/dist/cjs/routers/PathRouter.d.js +16 -0
  252. package/dist/cjs/routers/PathRouter.d.js.map +7 -0
  253. package/dist/cjs/routers/PathRouter.d.ts.map +1 -1
  254. package/dist/cjs/routers/PathRouter.js +0 -1
  255. package/dist/cjs/routers/PathRouter.js.map +2 -2
  256. package/dist/cjs/routers/Router.d.js +17 -0
  257. package/dist/cjs/routers/Router.d.js.map +7 -0
  258. package/dist/cjs/routers/Router.js +13 -9
  259. package/dist/cjs/routers/Router.js.map +1 -1
  260. package/dist/cjs/types/Types.d.js +16 -0
  261. package/dist/cjs/types/Types.d.js.map +7 -0
  262. package/dist/cjs/validators/MultipleValidator.js +3 -0
  263. package/dist/cjs/validators/MultipleValidator.js.map +1 -1
  264. package/dist/cjs/validators/NonPassValidator.d.js +16 -0
  265. package/dist/cjs/validators/NonPassValidator.d.js.map +7 -0
  266. package/dist/cjs/validators/NotRegExpTestValidator.js +3 -0
  267. package/dist/cjs/validators/NotRegExpTestValidator.js.map +1 -1
  268. package/dist/cjs/validators/RegExpTestValidator.js +3 -0
  269. package/dist/cjs/validators/RegExpTestValidator.js.map +1 -1
  270. package/dist/cjs/validators/Validator.d.js +16 -0
  271. package/dist/cjs/validators/Validator.d.js.map +7 -0
  272. package/dist/cjs/validators/Validator.js +7 -0
  273. package/dist/cjs/validators/Validator.js.map +1 -1
  274. package/dist/cjs/validators/ValidatorArray.d.js +16 -0
  275. package/dist/cjs/validators/ValidatorArray.d.js.map +7 -0
  276. package/dist/cjs/validators/ValidatorArray.js +4 -2
  277. package/dist/cjs/validators/ValidatorArray.js.map +1 -1
  278. package/dist/esm/DomRender.d.js +1 -0
  279. package/dist/esm/DomRender.d.js.map +7 -0
  280. package/dist/esm/DomRender.js +14 -8
  281. package/dist/esm/DomRender.js.map +1 -1
  282. package/dist/esm/DomRenderProxy.d.js +2 -0
  283. package/dist/esm/DomRenderProxy.d.js.map +7 -0
  284. package/dist/esm/DomRenderProxy.d.ts +0 -1
  285. package/dist/esm/DomRenderProxy.d.ts.map +1 -1
  286. package/dist/esm/DomRenderProxy.js +22 -19
  287. package/dist/esm/DomRenderProxy.js.map +2 -2
  288. package/dist/esm/components/ComponentBase.d.js +2 -0
  289. package/dist/esm/components/ComponentBase.d.js.map +7 -0
  290. package/dist/esm/components/ComponentBase.d.ts +0 -1
  291. package/dist/esm/components/ComponentBase.d.ts.map +1 -1
  292. package/dist/esm/components/ComponentBase.js +71 -56
  293. package/dist/esm/components/ComponentBase.js.map +2 -2
  294. package/dist/esm/components/ComponentRouterBase.d.js +1 -0
  295. package/dist/esm/components/ComponentRouterBase.d.js.map +7 -0
  296. package/dist/esm/components/ComponentRouterBase.js +7 -2
  297. package/dist/esm/components/ComponentRouterBase.js.map +1 -1
  298. package/dist/esm/components/ComponentSet.d.js +1 -0
  299. package/dist/esm/components/ComponentSet.d.js.map +7 -0
  300. package/dist/esm/components/ComponentSet.js +7 -1
  301. package/dist/esm/components/ComponentSet.js.map +1 -1
  302. package/dist/esm/components/a/A.d.js +5 -0
  303. package/dist/esm/components/a/A.d.js.map +7 -0
  304. package/dist/esm/components/a/A.d.ts +1 -1
  305. package/dist/esm/components/a/A.js +42 -36
  306. package/dist/esm/components/a/A.js.map +1 -1
  307. package/dist/esm/components/a/index.d.js +2 -0
  308. package/dist/esm/components/a/index.d.js.map +7 -0
  309. package/dist/esm/components/a/index.js +1 -1
  310. package/dist/esm/components/appender/Appender.d.js +5 -0
  311. package/dist/esm/components/appender/Appender.d.js.map +7 -0
  312. package/dist/esm/components/appender/Appender.d.ts +1 -1
  313. package/dist/esm/components/appender/Appender.js +10 -3
  314. package/dist/esm/components/appender/Appender.js.map +1 -1
  315. package/dist/esm/components/appender/index.d.js +2 -0
  316. package/dist/esm/components/appender/index.d.js.map +7 -0
  317. package/dist/esm/components/appender/index.js +1 -1
  318. package/dist/esm/components/checkbox/CheckBox.d.js +5 -0
  319. package/dist/esm/components/checkbox/CheckBox.d.js.map +7 -0
  320. package/dist/esm/components/checkbox/CheckBox.d.ts +3 -3
  321. package/dist/esm/components/checkbox/CheckBox.js +11 -7
  322. package/dist/esm/components/checkbox/CheckBox.js.map +1 -1
  323. package/dist/esm/components/checkbox/index.d.js +2 -0
  324. package/dist/esm/components/checkbox/index.d.js.map +7 -0
  325. package/dist/esm/components/checkbox/index.js +1 -1
  326. package/dist/esm/components/choose/Choose.d.js +5 -0
  327. package/dist/esm/components/choose/Choose.d.js.map +7 -0
  328. package/dist/esm/components/choose/Choose.d.ts +3 -3
  329. package/dist/esm/components/choose/Choose.js +15 -4
  330. package/dist/esm/components/choose/Choose.js.map +1 -1
  331. package/dist/esm/components/choose/index.d.js +2 -0
  332. package/dist/esm/components/choose/index.d.js.map +7 -0
  333. package/dist/esm/components/choose/index.js +1 -1
  334. package/dist/esm/components/details/Details.d.js +5 -0
  335. package/dist/esm/components/details/Details.d.js.map +7 -0
  336. package/dist/esm/components/details/Details.d.ts +4 -4
  337. package/dist/esm/components/details/Details.js +15 -3
  338. package/dist/esm/components/details/Details.js.map +1 -1
  339. package/dist/esm/components/details/index.d.js +2 -0
  340. package/dist/esm/components/details/index.d.js.map +7 -0
  341. package/dist/esm/components/details/index.js +1 -1
  342. package/dist/esm/components/forOf/ForOf.d.js +5 -0
  343. package/dist/esm/components/forOf/ForOf.d.js.map +7 -0
  344. package/dist/esm/components/forOf/ForOf.d.ts +1 -1
  345. package/dist/esm/components/forOf/ForOf.js +10 -3
  346. package/dist/esm/components/forOf/ForOf.js.map +1 -1
  347. package/dist/esm/components/forOf/index.d.js +2 -0
  348. package/dist/esm/components/forOf/index.d.js.map +7 -0
  349. package/dist/esm/components/forOf/index.js +1 -1
  350. package/dist/esm/components/if/If.d.js +5 -0
  351. package/dist/esm/components/if/If.d.js.map +7 -0
  352. package/dist/esm/components/if/If.d.ts +1 -1
  353. package/dist/esm/components/if/If.js +7 -4
  354. package/dist/esm/components/if/If.js.map +1 -1
  355. package/dist/esm/components/if/index.d.js +2 -0
  356. package/dist/esm/components/if/index.d.js.map +7 -0
  357. package/dist/esm/components/if/index.js +1 -1
  358. package/dist/esm/components/index.d.js +18 -0
  359. package/dist/esm/components/index.d.js.map +7 -0
  360. package/dist/esm/components/index.d.ts +37 -37
  361. package/dist/esm/components/index.js +31 -31
  362. package/dist/esm/components/input/Input.d.js +5 -0
  363. package/dist/esm/components/input/Input.d.js.map +7 -0
  364. package/dist/esm/components/input/Input.d.ts +1 -1
  365. package/dist/esm/components/input/Input.js +12 -3
  366. package/dist/esm/components/input/Input.js.map +1 -1
  367. package/dist/esm/components/input/index.d.js +2 -0
  368. package/dist/esm/components/input/index.d.js.map +7 -0
  369. package/dist/esm/components/input/index.js +1 -1
  370. package/dist/esm/components/promise/PromiseSwitch.d.js +5 -0
  371. package/dist/esm/components/promise/PromiseSwitch.d.js.map +7 -0
  372. package/dist/esm/components/promise/PromiseSwitch.d.ts +5 -5
  373. package/dist/esm/components/promise/PromiseSwitch.js +24 -4
  374. package/dist/esm/components/promise/PromiseSwitch.js.map +1 -1
  375. package/dist/esm/components/promise/index.d.js +2 -0
  376. package/dist/esm/components/promise/index.d.js.map +7 -0
  377. package/dist/esm/components/promise/index.js +1 -1
  378. package/dist/esm/components/radio/Radio.d.js +5 -0
  379. package/dist/esm/components/radio/Radio.d.js.map +7 -0
  380. package/dist/esm/components/radio/Radio.d.ts +3 -3
  381. package/dist/esm/components/radio/Radio.js +11 -7
  382. package/dist/esm/components/radio/Radio.js.map +1 -1
  383. package/dist/esm/components/radio/index.d.js +2 -0
  384. package/dist/esm/components/radio/index.d.js.map +7 -0
  385. package/dist/esm/components/radio/index.js +1 -1
  386. package/dist/esm/components/router/Route.d.js +5 -0
  387. package/dist/esm/components/router/Route.d.js.map +7 -0
  388. package/dist/esm/components/router/Route.d.ts +2 -2
  389. package/dist/esm/components/router/Route.js +21 -20
  390. package/dist/esm/components/router/Route.js.map +1 -1
  391. package/dist/esm/components/router/RouterOutlet.d.js +5 -0
  392. package/dist/esm/components/router/RouterOutlet.d.js.map +7 -0
  393. package/dist/esm/components/router/RouterOutlet.d.ts +1 -1
  394. package/dist/esm/components/router/RouterOutlet.js +9 -4
  395. package/dist/esm/components/router/RouterOutlet.js.map +1 -1
  396. package/dist/esm/components/router/index.d.js +3 -0
  397. package/dist/esm/components/router/index.d.js.map +7 -0
  398. package/dist/esm/components/router/index.js +2 -2
  399. package/dist/esm/components/select/Select.d.js +5 -0
  400. package/dist/esm/components/select/Select.d.js.map +7 -0
  401. package/dist/esm/components/select/Select.d.ts +10 -10
  402. package/dist/esm/components/select/Select.js +89 -74
  403. package/dist/esm/components/select/Select.js.map +2 -2
  404. package/dist/esm/components/select/index.d.js +2 -0
  405. package/dist/esm/components/select/index.d.js.map +7 -0
  406. package/dist/esm/components/select/index.js +1 -1
  407. package/dist/esm/components/this/This.d.js +5 -0
  408. package/dist/esm/components/this/This.d.js.map +7 -0
  409. package/dist/esm/components/this/This.d.ts +1 -1
  410. package/dist/esm/components/this/This.js +9 -4
  411. package/dist/esm/components/this/This.js.map +1 -1
  412. package/dist/esm/components/this/index.d.js +2 -0
  413. package/dist/esm/components/this/index.d.js.map +7 -0
  414. package/dist/esm/components/this/index.js +1 -1
  415. package/dist/esm/components/timer/Timer.d.js +5 -0
  416. package/dist/esm/components/timer/Timer.d.js.map +7 -0
  417. package/dist/esm/components/timer/Timer.d.ts +1 -1
  418. package/dist/esm/components/timer/Timer.js +11 -3
  419. package/dist/esm/components/timer/Timer.js.map +1 -1
  420. package/dist/esm/components/timer/index.d.js +2 -0
  421. package/dist/esm/components/timer/index.d.js.map +7 -0
  422. package/dist/esm/components/timer/index.js +1 -1
  423. package/dist/esm/configs/DomRenderConfig.d.js +1 -0
  424. package/dist/esm/configs/DomRenderConfig.d.js.map +7 -0
  425. package/dist/esm/configs/TargetAttr.d.js +1 -0
  426. package/dist/esm/configs/TargetAttr.d.js.map +7 -0
  427. package/dist/esm/configs/TargetElement.d.js +1 -0
  428. package/dist/esm/configs/TargetElement.d.js.map +7 -0
  429. package/dist/esm/configs/index.js +3 -3
  430. package/dist/esm/decorators/DomRenderNoProxy.d.js +2 -0
  431. package/dist/esm/decorators/DomRenderNoProxy.d.js.map +7 -0
  432. package/dist/esm/decorators/DomRenderNoProxy.d.ts +0 -1
  433. package/dist/esm/decorators/DomRenderNoProxy.d.ts.map +1 -1
  434. package/dist/esm/decorators/DomRenderNoProxy.js +0 -1
  435. package/dist/esm/decorators/DomRenderNoProxy.js.map +2 -2
  436. package/dist/esm/decorators/index.js +1 -1
  437. package/dist/esm/events/EventManager.d.js +1 -0
  438. package/dist/esm/events/EventManager.d.js.map +7 -0
  439. package/dist/esm/events/EventManager.js +61 -58
  440. package/dist/esm/events/EventManager.js.map +1 -1
  441. package/dist/esm/events/index.js +1 -1
  442. package/dist/esm/index.d.ts +2 -15
  443. package/dist/esm/index.d.ts.map +1 -1
  444. package/dist/esm/index.js +2 -40
  445. package/dist/esm/index.js.map +2 -2
  446. package/dist/esm/iterators/Range.d.js +1 -0
  447. package/dist/esm/iterators/Range.d.js.map +7 -0
  448. package/dist/esm/iterators/Range.js +10 -1
  449. package/dist/esm/iterators/Range.js.map +1 -1
  450. package/dist/esm/iterators/index.js +1 -1
  451. package/dist/esm/lifecycle/OnBeforeReturnSet.d.js +1 -0
  452. package/dist/esm/lifecycle/OnBeforeReturnSet.d.js.map +7 -0
  453. package/dist/esm/lifecycle/OnChangeAttrRender.d.js +1 -0
  454. package/dist/esm/lifecycle/OnChangeAttrRender.d.js.map +7 -0
  455. package/dist/esm/lifecycle/OnChildRenderedByProperty.d.js +1 -0
  456. package/dist/esm/lifecycle/OnChildRenderedByProperty.d.js.map +7 -0
  457. package/dist/esm/lifecycle/OnCreateRender.d.js +1 -0
  458. package/dist/esm/lifecycle/OnCreateRender.d.js.map +7 -0
  459. package/dist/esm/lifecycle/OnCreateRenderData.d.js +1 -0
  460. package/dist/esm/lifecycle/OnCreateRenderData.d.js.map +7 -0
  461. package/dist/esm/lifecycle/OnCreatedThisChild.d.js +1 -0
  462. package/dist/esm/lifecycle/OnCreatedThisChild.d.js.map +7 -0
  463. package/dist/esm/lifecycle/OnDestroyRender.d.js +1 -0
  464. package/dist/esm/lifecycle/OnDestroyRender.d.js.map +7 -0
  465. package/dist/esm/lifecycle/OnInitRender.d.js +1 -0
  466. package/dist/esm/lifecycle/OnInitRender.d.js.map +7 -0
  467. package/dist/esm/lifecycle/OnProxyDomRender.d.js +1 -0
  468. package/dist/esm/lifecycle/OnProxyDomRender.d.js.map +7 -0
  469. package/dist/esm/lifecycle/dr-this/OnDrThisBind.d.js +1 -0
  470. package/dist/esm/lifecycle/dr-this/OnDrThisBind.d.js.map +7 -0
  471. package/dist/esm/lifecycle/dr-this/OnDrThisUnBind.d.js +1 -0
  472. package/dist/esm/lifecycle/dr-this/OnDrThisUnBind.d.js.map +7 -0
  473. package/dist/esm/lifecycle/dr-this/index.js +2 -2
  474. package/dist/esm/lifecycle/index.js +12 -12
  475. package/dist/esm/managers/index.js +1 -1
  476. package/dist/esm/messenger/DefaultMessenger.d.js +1 -0
  477. package/dist/esm/messenger/DefaultMessenger.d.js.map +7 -0
  478. package/dist/esm/messenger/DefaultMessenger.js +1 -1
  479. package/dist/esm/messenger/Messenger.d.js +1 -0
  480. package/dist/esm/messenger/Messenger.d.js.map +7 -0
  481. package/dist/esm/messenger/Messenger.js +10 -6
  482. package/dist/esm/messenger/Messenger.js.map +1 -1
  483. package/dist/esm/messenger/index.js +2 -2
  484. package/dist/esm/operators/Appender.d.js +1 -0
  485. package/dist/esm/operators/Appender.d.js.map +7 -0
  486. package/dist/esm/operators/Appender.js +6 -3
  487. package/dist/esm/operators/Appender.js.map +1 -1
  488. package/dist/esm/operators/Dr.d.js +1 -0
  489. package/dist/esm/operators/Dr.d.js.map +7 -0
  490. package/dist/esm/operators/Dr.js +3 -3
  491. package/dist/esm/operators/DrAppender.d.js +1 -0
  492. package/dist/esm/operators/DrAppender.d.js.map +7 -0
  493. package/dist/esm/operators/DrAppender.js +3 -3
  494. package/dist/esm/operators/DrFor.d.js +1 -0
  495. package/dist/esm/operators/DrFor.d.js.map +7 -0
  496. package/dist/esm/operators/DrFor.js +3 -3
  497. package/dist/esm/operators/DrForOf.d.js +1 -0
  498. package/dist/esm/operators/DrForOf.d.js.map +7 -0
  499. package/dist/esm/operators/DrForOf.js +4 -4
  500. package/dist/esm/operators/DrForOf.js.map +1 -1
  501. package/dist/esm/operators/DrForm.d.js +1 -0
  502. package/dist/esm/operators/DrForm.d.js.map +7 -0
  503. package/dist/esm/operators/DrForm.js +6 -6
  504. package/dist/esm/operators/DrIf.d.js +1 -0
  505. package/dist/esm/operators/DrIf.d.js.map +7 -0
  506. package/dist/esm/operators/DrIf.js +4 -4
  507. package/dist/esm/operators/DrIf.js.map +1 -1
  508. package/dist/esm/operators/DrInnerHTML.d.js +1 -0
  509. package/dist/esm/operators/DrInnerHTML.d.js.map +7 -0
  510. package/dist/esm/operators/DrInnerHTML.js +3 -3
  511. package/dist/esm/operators/DrInnerText.d.js +1 -0
  512. package/dist/esm/operators/DrInnerText.d.js.map +7 -0
  513. package/dist/esm/operators/DrInnerText.js +3 -3
  514. package/dist/esm/operators/DrPre.d.js +1 -0
  515. package/dist/esm/operators/DrPre.d.js.map +7 -0
  516. package/dist/esm/operators/DrPre.js +1 -1
  517. package/dist/esm/operators/DrRepeat.d.js +1 -0
  518. package/dist/esm/operators/DrRepeat.d.js.map +7 -0
  519. package/dist/esm/operators/DrRepeat.js +4 -4
  520. package/dist/esm/operators/DrStripElement.d.js +1 -0
  521. package/dist/esm/operators/DrStripElement.d.js.map +7 -0
  522. package/dist/esm/operators/DrStripElement.js +3 -3
  523. package/dist/esm/operators/DrTargetAttr.d.js +1 -0
  524. package/dist/esm/operators/DrTargetAttr.d.js.map +7 -0
  525. package/dist/esm/operators/DrTargetAttr.js +2 -2
  526. package/dist/esm/operators/DrTargetElement.d.js +1 -0
  527. package/dist/esm/operators/DrTargetElement.d.js.map +7 -0
  528. package/dist/esm/operators/DrTargetElement.js +2 -2
  529. package/dist/esm/operators/DrTargetElementIsElement.d.js +1 -0
  530. package/dist/esm/operators/DrTargetElementIsElement.d.js.map +7 -0
  531. package/dist/esm/operators/DrTargetElementIsElement.js +2 -2
  532. package/dist/esm/operators/DrThis.d.js +1 -0
  533. package/dist/esm/operators/DrThis.d.js.map +7 -0
  534. package/dist/esm/operators/DrThis.js +6 -6
  535. package/dist/esm/operators/DrThisProperty.d.js +1 -0
  536. package/dist/esm/operators/DrThisProperty.d.js.map +7 -0
  537. package/dist/esm/operators/DrThisProperty.js +3 -3
  538. package/dist/esm/operators/OperatorExecuter.d.js +1 -0
  539. package/dist/esm/operators/OperatorExecuter.d.js.map +7 -0
  540. package/dist/esm/operators/OperatorExecuter.js +1 -1
  541. package/dist/esm/operators/OperatorExecuter.js.map +1 -1
  542. package/dist/esm/operators/OperatorExecuterAttrRequire.d.js +1 -0
  543. package/dist/esm/operators/OperatorExecuterAttrRequire.d.js.map +7 -0
  544. package/dist/esm/operators/OperatorExecuterAttrRequire.js +1 -1
  545. package/dist/esm/operators/index.js +19 -19
  546. package/dist/esm/rawsets/AttrInitCallBack.d.js +1 -0
  547. package/dist/esm/rawsets/AttrInitCallBack.d.js.map +7 -0
  548. package/dist/esm/rawsets/Attrs.d.js +1 -0
  549. package/dist/esm/rawsets/Attrs.d.js.map +7 -0
  550. package/dist/esm/rawsets/CreatorMetaData.d.js +1 -0
  551. package/dist/esm/rawsets/CreatorMetaData.d.js.map +7 -0
  552. package/dist/esm/rawsets/DestroyOptionType.d.js +1 -0
  553. package/dist/esm/rawsets/DestroyOptionType.d.js.map +7 -0
  554. package/dist/esm/rawsets/ElementInitCallBack.d.js +1 -0
  555. package/dist/esm/rawsets/ElementInitCallBack.d.js.map +7 -0
  556. package/dist/esm/rawsets/RawSet.d.js +1 -0
  557. package/dist/esm/rawsets/RawSet.d.js.map +7 -0
  558. package/dist/esm/rawsets/RawSet.js +85 -82
  559. package/dist/esm/rawsets/RawSet.js.map +2 -2
  560. package/dist/esm/rawsets/RawSetOperatorType.d.js +1 -0
  561. package/dist/esm/rawsets/RawSetOperatorType.d.js.map +7 -0
  562. package/dist/esm/rawsets/RawSetType.d.js +1 -0
  563. package/dist/esm/rawsets/RawSetType.d.js.map +7 -0
  564. package/dist/esm/rawsets/Render.d.js +1 -0
  565. package/dist/esm/rawsets/Render.d.js.map +7 -0
  566. package/dist/esm/rawsets/index.js +9 -9
  567. package/dist/esm/routers/HashRouter.d.js +1 -0
  568. package/dist/esm/routers/HashRouter.d.js.map +7 -0
  569. package/dist/esm/routers/HashRouter.js +1 -1
  570. package/dist/esm/routers/PathRouter.d.js +1 -0
  571. package/dist/esm/routers/PathRouter.d.js.map +7 -0
  572. package/dist/esm/routers/PathRouter.d.ts.map +1 -1
  573. package/dist/esm/routers/PathRouter.js +1 -2
  574. package/dist/esm/routers/PathRouter.js.map +2 -2
  575. package/dist/esm/routers/Router.d.js +2 -0
  576. package/dist/esm/routers/Router.d.js.map +7 -0
  577. package/dist/esm/routers/Router.js +14 -9
  578. package/dist/esm/routers/Router.js.map +1 -1
  579. package/dist/esm/routers/index.js +3 -3
  580. package/dist/esm/types/Types.d.js +1 -0
  581. package/dist/esm/types/Types.d.js.map +7 -0
  582. package/dist/esm/types/index.js +1 -1
  583. package/dist/esm/validators/AllCheckedValidatorArray.js +1 -1
  584. package/dist/esm/validators/AllUnCheckedValidatorArray.js +1 -1
  585. package/dist/esm/validators/CheckedValidator.js +1 -1
  586. package/dist/esm/validators/CountEqualsCheckedValidatorArray.js +1 -1
  587. package/dist/esm/validators/CountEqualsUnCheckedValidatorArray.js +1 -1
  588. package/dist/esm/validators/CountGreaterThanCheckedValidatorArray.js +1 -1
  589. package/dist/esm/validators/CountGreaterThanEqualsCheckedValidatorArray.js +1 -1
  590. package/dist/esm/validators/CountGreaterThanEqualsUnCheckedValidatorArray.js +1 -1
  591. package/dist/esm/validators/CountGreaterThanUnCheckedValidatorArray.js +1 -1
  592. package/dist/esm/validators/CountLessThanCheckedValidatorArray.js +1 -1
  593. package/dist/esm/validators/CountLessThanEqualsCheckedValidatorArray.js +1 -1
  594. package/dist/esm/validators/CountLessThanEqualsUnCheckedValidatorArray.js +1 -1
  595. package/dist/esm/validators/CountLessThanUnCheckedValidatorArray.js +1 -1
  596. package/dist/esm/validators/CountUnCheckedValidatorArray.js +1 -1
  597. package/dist/esm/validators/EmptyValidator.js +1 -1
  598. package/dist/esm/validators/ExcludeCheckedValidatorArray.js +1 -1
  599. package/dist/esm/validators/FormValidator.js +1 -1
  600. package/dist/esm/validators/IncludeCheckedValidatorArray.js +1 -1
  601. package/dist/esm/validators/MultipleValidator.js +5 -1
  602. package/dist/esm/validators/MultipleValidator.js.map +1 -1
  603. package/dist/esm/validators/NonPassValidator.d.js +1 -0
  604. package/dist/esm/validators/NonPassValidator.d.js.map +7 -0
  605. package/dist/esm/validators/NonPassValidator.js +1 -1
  606. package/dist/esm/validators/NotEmptyValidator.js +1 -1
  607. package/dist/esm/validators/NotRegExpTestValidator.js +6 -2
  608. package/dist/esm/validators/NotRegExpTestValidator.js.map +1 -1
  609. package/dist/esm/validators/PassValidator.js +1 -1
  610. package/dist/esm/validators/RegExpTestValidator.js +6 -2
  611. package/dist/esm/validators/RegExpTestValidator.js.map +1 -1
  612. package/dist/esm/validators/RequiredValidator.js +1 -1
  613. package/dist/esm/validators/UnCheckedValidator.js +1 -1
  614. package/dist/esm/validators/ValidMultipleValidator.js +1 -1
  615. package/dist/esm/validators/ValidValidator.js +1 -1
  616. package/dist/esm/validators/ValidValidatorArray.js +1 -1
  617. package/dist/esm/validators/Validator.d.js +1 -0
  618. package/dist/esm/validators/Validator.d.js.map +7 -0
  619. package/dist/esm/validators/Validator.js +8 -0
  620. package/dist/esm/validators/Validator.js.map +1 -1
  621. package/dist/esm/validators/ValidatorArray.d.js +1 -0
  622. package/dist/esm/validators/ValidatorArray.d.js.map +7 -0
  623. package/dist/esm/validators/ValidatorArray.js +7 -4
  624. package/dist/esm/validators/ValidatorArray.js.map +1 -1
  625. package/dist/esm/validators/ValueEqualsValidator.js +1 -1
  626. package/dist/esm/validators/ValueNotEqualsValidator.js +1 -1
  627. package/dist/esm/validators/index.js +31 -31
  628. package/dist/esm-bundle/dooboostore-dom-render.esm.js +3 -6757
  629. package/dist/esm-bundle/dooboostore-dom-render.esm.js.map +4 -4
  630. package/dist/umd-bundle/dooboostore-dom-render.umd.js +2 -6761
  631. package/dist/umd-bundle/dooboostore-dom-render.umd.js.map +4 -4
  632. package/package.json +10 -9
@@ -0,0 +1,16 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+ var DomRender_d_exports = {};
15
+ module.exports = __toCommonJS(DomRender_d_exports);
16
+ //# sourceMappingURL=DomRender.d.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/DomRender.ts"],
4
+ "sourcesContent": ["import { DomRenderProxy } from './DomRenderProxy';\nimport { DomRenderConfig } from './configs/DomRenderConfig';\nimport { PathRouter } from './routers/PathRouter';\nimport { HashRouter } from './routers/HashRouter';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { DomRenderFinalProxy } from './types/Types';\nimport { RawSet } from './rawsets/RawSet';\nimport { DefaultMessenger } from './messenger/DefaultMessenger';\nimport { Router } from './routers/Router';\nimport { drComponent } from './components';\nimport { EventManager } from './events/EventManager';\nimport { RandomUtils } from '@dooboostore/core/random/RandomUtils';\n\nexport type DomRenderRunConfig<T = any> = Omit<DomRenderConfig<T>, 'router' | 'uuid' | 'eventManager' | 'messenger' | 'root' | 'rootElement'> & { routerType?: 'path' | 'hash' | ((obj: T, window: Window) => Router) | Router };\nexport type CreateComponentParam = { type: ConstructorType<any> | any, tagName?: string, noStrip?: boolean, template?: string, styles?: string[] | string };\nlet eventManager: EventManager | null = null;\nexport type DomRenderRunParameter<T extends object> = { rootObject: T | (() => T), target?: Element | null, config?: DomRenderRunConfig | DomRenderConfig };\n\nexport class DomRender<T extends object = any> {\n private _config: DomRenderConfig;\n private _target: Element | null | undefined;\n private _rootObject: T;\n\n constructor(parameter: DomRenderRunParameter<T>, executeConfig?: { autoGo?: string }) {\n const s = DomRender.runSet(parameter);\n this._config = s.config;\n this._target = s.target;\n this._rootObject = s.rootObject;\n if (executeConfig && executeConfig?.autoGo) {\n this._config.router?.go(executeConfig.autoGo);\n }\n }\n\n public get rootObject(): T {\n return this._rootObject;\n }\n\n public get config(): DomRenderConfig {\n return this._config;\n }\n\n public get target(): Element | null |undefined {\n return this._target;\n }\n\n public static run<T extends object>(data: DomRenderRunParameter<T>): T {\n return DomRender.runSet(data).rootObject;\n }\n\n public static runSet<T extends object>({rootObject, target, config}: DomRenderRunParameter<T>): { rootObject: T, target?: Element | null, config: DomRenderConfig } {\n // public static run<T extends object>({rootObject, target, config}: DomRenderRunParameter<T>): T {\n // console.log('runSet')\n rootObject = typeof rootObject === 'function' ? rootObject() : rootObject;\n let targetObject = rootObject;\n if ('_DomRender_isProxy' in rootObject) {\n if (target) {\n ((rootObject as any)._DomRender_proxy as DomRenderProxy<T>).initRender(target);\n }\n targetObject = rootObject;\n // return targetObject;\n return {rootObject: targetObject, target, config: (rootObject as any)._domRender_config};\n }\n const targetConfig = Object.assign({}, config) as DomRenderConfig;\n eventManager ??= new EventManager(targetConfig.window);\n\n targetConfig.uuid = RandomUtils.uuid4();\n targetConfig.messenger = DomRenderFinalProxy.final(targetConfig.messenger ?? new DefaultMessenger(targetConfig));\n targetConfig.proxyExcludeTyps = targetConfig.proxyExcludeTyps ?? [];\n targetConfig.targetElements ??= [];\n\n\n if (typeof Window !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Window)) {\n targetConfig.proxyExcludeTyps.push(Window);\n }\n if (typeof Map !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Map)) {\n targetConfig.proxyExcludeTyps.push(Map);\n }\n if (typeof Set !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Set)) {\n targetConfig.proxyExcludeTyps.push(Set);\n }\n if (typeof Promise !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Promise)) {\n targetConfig.proxyExcludeTyps.push(Promise);\n }\n if (typeof ResizeObserver !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === ResizeObserver)) {\n targetConfig.proxyExcludeTyps.push(ResizeObserver);\n }\n if (typeof ImageBitmap !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === ImageBitmap)) {\n targetConfig.proxyExcludeTyps.push(ImageBitmap);\n }\n if (typeof CanvasRenderingContext2D !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === CanvasRenderingContext2D)) {\n targetConfig.proxyExcludeTyps.push(CanvasRenderingContext2D);\n }\n if (typeof HTMLCanvasElement !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === HTMLCanvasElement)) {\n targetConfig.proxyExcludeTyps.push(HTMLCanvasElement);\n }\n if (!targetConfig.proxyExcludeTyps.some(it => it === RawSet)) {\n targetConfig.proxyExcludeTyps.push(RawSet);\n }\n if (!targetConfig.proxyExcludeTyps.some(it => it === DomRender)) {\n targetConfig.proxyExcludeTyps.push(DomRender);\n }\n targetConfig.rootElement = target;\n targetConfig.eventManager = eventManager;\n // (targetConfig.window as any).domRender ??= {configs: []};\n // (targetConfig.window as any).domRender.configs.push(targetConfig);\n const domRender = new DomRenderProxy(rootObject, target, targetConfig);\n const dest = new Proxy(rootObject, domRender);\n targetObject = dest;\n targetConfig.root = targetObject;\n\n // proxy \uB41C targetObject\uB97C \uB123\uC5B4\uC918\uC57C\uB418\uC11C \uB4A4\uCABD\uC5D0\uC11C router\uB97C \uC0DD\uC131\uD574\uC57C\uD568\n if (!targetConfig.router) {\n let targetRouter: Router<any> | undefined;\n if ('routerType' in config && config?.routerType === 'hash') {\n targetRouter = new HashRouter({rootObject: targetObject, window: targetConfig.window});\n } else if ('routerType' in config && config?.routerType === 'path') {\n targetRouter = new PathRouter({rootObject: targetObject, window: targetConfig.window});\n } else if ('routerType' in config && typeof config?.routerType === 'function') {\n targetRouter = config.routerType(targetObject, targetConfig.window);\n } else if ('routerType' in config && typeof config?.routerType === 'object') {\n targetRouter = config.routerType;\n }\n targetConfig.router = targetRouter;\n }\n\n for (const value of Object.values(drComponent)) {\n const a = value(targetConfig, DomRender);\n if (!targetConfig.targetElements.some(it => it.name === a.name)) {\n targetConfig.targetElements.push(a);\n }\n }\n // console.log('cccccccccccccccccc', targetRouter)\n // targetRouter.go({path: targetRouter.getUrl()})\n // if (!config.router) {\n // if (config.routerType === 'path') {\n // config.router = new PathRouter(targetObject, config.window);\n // } else if (config.routerType === 'hash') {\n // config.router = new HashRouter(targetObject, config.window);\n // } else { // none\n // config.router = new HashRouter(targetObject, config.window);\n // }\n // }\n domRender.run(targetObject);\n return {rootObject: targetObject, config: targetConfig, target};\n // return targetObject;\n }\n\n public static createComponent(param: CreateComponentParam) {\n // console.log('===>', typeof param.type, param.type.name, param.type.constructor.name)\n const component = RawSet.createComponentTargetElement(\n {\n name: param.tagName ?? (typeof param.type === 'function' ? param.type.name : param.type.constructor.name),\n objFactory: (e, o, r2, counstructorParam) => {\n return typeof param.type === 'function' ? new param.type(...counstructorParam) : param.type;\n },\n noStrip: param.noStrip,\n template: param.template ?? '',\n styles: Array.isArray(param.styles) ? param.styles : (param.styles ? [param.styles] : undefined)\n }\n );\n return component;\n }\n\n // ?? \uC5B8\uC81C \uC4F0\uB294\uAC70\uC9C0?? \uD6D4..\n public static createAttribute(attrName: string, getThisObj: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => any, factory: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => DocumentFragment) {\n const targetAttribute = RawSet.createComponentTargetAttribute(\n attrName,\n getThisObj,\n factory\n );\n return targetAttribute;\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;AACA;;",
6
+ "names": []
7
+ }
@@ -2,6 +2,7 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
5
6
  var __export = (target, all) => {
6
7
  for (var name in all)
7
8
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -15,6 +16,7 @@ var __copyProps = (to, from, except, desc) => {
15
16
  return to;
16
17
  };
17
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
18
20
  var DomRender_exports = {};
19
21
  __export(DomRender_exports, {
20
22
  DomRender: () => DomRender
@@ -32,6 +34,9 @@ var import_RandomUtils = require("@dooboostore/core/random/RandomUtils");
32
34
  let eventManager = null;
33
35
  class DomRender {
34
36
  constructor(parameter, executeConfig) {
37
+ __publicField(this, "_config");
38
+ __publicField(this, "_target");
39
+ __publicField(this, "_rootObject");
35
40
  const s = DomRender.runSet(parameter);
36
41
  this._config = s.config;
37
42
  this._target = s.target;
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/DomRender.ts"],
4
4
  "sourcesContent": ["import { DomRenderProxy } from './DomRenderProxy';\nimport { DomRenderConfig } from './configs/DomRenderConfig';\nimport { PathRouter } from './routers/PathRouter';\nimport { HashRouter } from './routers/HashRouter';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { DomRenderFinalProxy } from './types/Types';\nimport { RawSet } from './rawsets/RawSet';\nimport { DefaultMessenger } from './messenger/DefaultMessenger';\nimport { Router } from './routers/Router';\nimport { drComponent } from './components';\nimport { EventManager } from './events/EventManager';\nimport { RandomUtils } from '@dooboostore/core/random/RandomUtils';\n\nexport type DomRenderRunConfig<T = any> = Omit<DomRenderConfig<T>, 'router' | 'uuid' | 'eventManager' | 'messenger' | 'root' | 'rootElement'> & { routerType?: 'path' | 'hash' | ((obj: T, window: Window) => Router) | Router };\nexport type CreateComponentParam = { type: ConstructorType<any> | any, tagName?: string, noStrip?: boolean, template?: string, styles?: string[] | string };\nlet eventManager: EventManager | null = null;\nexport type DomRenderRunParameter<T extends object> = { rootObject: T | (() => T), target?: Element | null, config?: DomRenderRunConfig | DomRenderConfig };\n\nexport class DomRender<T extends object = any> {\n private _config: DomRenderConfig;\n private _target: Element | null | undefined;\n private _rootObject: T;\n\n constructor(parameter: DomRenderRunParameter<T>, executeConfig?: { autoGo?: string }) {\n const s = DomRender.runSet(parameter);\n this._config = s.config;\n this._target = s.target;\n this._rootObject = s.rootObject;\n if (executeConfig && executeConfig?.autoGo) {\n this._config.router?.go(executeConfig.autoGo);\n }\n }\n\n public get rootObject(): T {\n return this._rootObject;\n }\n\n public get config(): DomRenderConfig {\n return this._config;\n }\n\n public get target(): Element | null |undefined {\n return this._target;\n }\n\n public static run<T extends object>(data: DomRenderRunParameter<T>): T {\n return DomRender.runSet(data).rootObject;\n }\n\n public static runSet<T extends object>({rootObject, target, config}: DomRenderRunParameter<T>): { rootObject: T, target?: Element | null, config: DomRenderConfig } {\n // public static run<T extends object>({rootObject, target, config}: DomRenderRunParameter<T>): T {\n // console.log('runSet')\n rootObject = typeof rootObject === 'function' ? rootObject() : rootObject;\n let targetObject = rootObject;\n if ('_DomRender_isProxy' in rootObject) {\n if (target) {\n ((rootObject as any)._DomRender_proxy as DomRenderProxy<T>).initRender(target);\n }\n targetObject = rootObject;\n // return targetObject;\n return {rootObject: targetObject, target, config: (rootObject as any)._domRender_config};\n }\n const targetConfig = Object.assign({}, config) as DomRenderConfig;\n eventManager ??= new EventManager(targetConfig.window);\n\n targetConfig.uuid = RandomUtils.uuid4();\n targetConfig.messenger = DomRenderFinalProxy.final(targetConfig.messenger ?? new DefaultMessenger(targetConfig));\n targetConfig.proxyExcludeTyps = targetConfig.proxyExcludeTyps ?? [];\n targetConfig.targetElements ??= [];\n\n\n if (typeof Window !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Window)) {\n targetConfig.proxyExcludeTyps.push(Window);\n }\n if (typeof Map !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Map)) {\n targetConfig.proxyExcludeTyps.push(Map);\n }\n if (typeof Set !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Set)) {\n targetConfig.proxyExcludeTyps.push(Set);\n }\n if (typeof Promise !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === Promise)) {\n targetConfig.proxyExcludeTyps.push(Promise);\n }\n if (typeof ResizeObserver !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === ResizeObserver)) {\n targetConfig.proxyExcludeTyps.push(ResizeObserver);\n }\n if (typeof ImageBitmap !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === ImageBitmap)) {\n targetConfig.proxyExcludeTyps.push(ImageBitmap);\n }\n if (typeof CanvasRenderingContext2D !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === CanvasRenderingContext2D)) {\n targetConfig.proxyExcludeTyps.push(CanvasRenderingContext2D);\n }\n if (typeof HTMLCanvasElement !== 'undefined' && !targetConfig.proxyExcludeTyps.some(it => it === HTMLCanvasElement)) {\n targetConfig.proxyExcludeTyps.push(HTMLCanvasElement);\n }\n if (!targetConfig.proxyExcludeTyps.some(it => it === RawSet)) {\n targetConfig.proxyExcludeTyps.push(RawSet);\n }\n if (!targetConfig.proxyExcludeTyps.some(it => it === DomRender)) {\n targetConfig.proxyExcludeTyps.push(DomRender);\n }\n targetConfig.rootElement = target;\n targetConfig.eventManager = eventManager;\n // (targetConfig.window as any).domRender ??= {configs: []};\n // (targetConfig.window as any).domRender.configs.push(targetConfig);\n const domRender = new DomRenderProxy(rootObject, target, targetConfig);\n const dest = new Proxy(rootObject, domRender);\n targetObject = dest;\n targetConfig.root = targetObject;\n\n // proxy \uB41C targetObject\uB97C \uB123\uC5B4\uC918\uC57C\uB418\uC11C \uB4A4\uCABD\uC5D0\uC11C router\uB97C \uC0DD\uC131\uD574\uC57C\uD568\n if (!targetConfig.router) {\n let targetRouter: Router<any> | undefined;\n if ('routerType' in config && config?.routerType === 'hash') {\n targetRouter = new HashRouter({rootObject: targetObject, window: targetConfig.window});\n } else if ('routerType' in config && config?.routerType === 'path') {\n targetRouter = new PathRouter({rootObject: targetObject, window: targetConfig.window});\n } else if ('routerType' in config && typeof config?.routerType === 'function') {\n targetRouter = config.routerType(targetObject, targetConfig.window);\n } else if ('routerType' in config && typeof config?.routerType === 'object') {\n targetRouter = config.routerType;\n }\n targetConfig.router = targetRouter;\n }\n\n for (const value of Object.values(drComponent)) {\n const a = value(targetConfig, DomRender);\n if (!targetConfig.targetElements.some(it => it.name === a.name)) {\n targetConfig.targetElements.push(a);\n }\n }\n // console.log('cccccccccccccccccc', targetRouter)\n // targetRouter.go({path: targetRouter.getUrl()})\n // if (!config.router) {\n // if (config.routerType === 'path') {\n // config.router = new PathRouter(targetObject, config.window);\n // } else if (config.routerType === 'hash') {\n // config.router = new HashRouter(targetObject, config.window);\n // } else { // none\n // config.router = new HashRouter(targetObject, config.window);\n // }\n // }\n domRender.run(targetObject);\n return {rootObject: targetObject, config: targetConfig, target};\n // return targetObject;\n }\n\n public static createComponent(param: CreateComponentParam) {\n // console.log('===>', typeof param.type, param.type.name, param.type.constructor.name)\n const component = RawSet.createComponentTargetElement(\n {\n name: param.tagName ?? (typeof param.type === 'function' ? param.type.name : param.type.constructor.name),\n objFactory: (e, o, r2, counstructorParam) => {\n return typeof param.type === 'function' ? new param.type(...counstructorParam) : param.type;\n },\n noStrip: param.noStrip,\n template: param.template ?? '',\n styles: Array.isArray(param.styles) ? param.styles : (param.styles ? [param.styles] : undefined)\n }\n );\n return component;\n }\n\n // ?? \uC5B8\uC81C \uC4F0\uB294\uAC70\uC9C0?? \uD6D4..\n public static createAttribute(attrName: string, getThisObj: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => any, factory: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => DocumentFragment) {\n const targetAttribute = RawSet.createComponentTargetAttribute(\n attrName,\n getThisObj,\n factory\n );\n return targetAttribute;\n }\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,17 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+ var DomRenderProxy_d_exports = {};
15
+ module.exports = __toCommonJS(DomRenderProxy_d_exports);
16
+ var import_reflect_metadata = require("reflect-metadata");
17
+ //# sourceMappingURL=DomRenderProxy.d.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/DomRenderProxy.ts"],
4
+ "sourcesContent": ["import { RawSet } from './rawsets/RawSet';\nimport { EventManager } from './events/EventManager';\nimport { DomRenderConfig } from './configs/DomRenderConfig';\nimport { ScriptUtils } from '@dooboostore/core-web/script/ScriptUtils';\nimport { DomRenderFinalProxy, Shield } from './types/Types';\nimport { RawSetType } from './rawsets/RawSetType';\nimport { DrThisProperty } from './operators/DrThisProperty';\nimport { RawSetOperatorType } from './rawsets/RawSetOperatorType';\nimport { ComponentSet } from './components/ComponentSet';\nimport { DomRenderNoProxyKey, isDomRenderNoProxy } from './decorators/DomRenderNoProxy';\nimport { isOnCreateRender } from './lifecycle/OnCreateRender';\nimport { isOnInitRender } from './lifecycle/OnInitRender';\nimport { isOnCreateRenderData } from './lifecycle/OnCreateRenderData';\nimport { isOnChangeAttrRender } from './lifecycle/OnChangeAttrRender';\nimport { DocumentUtils } from '@dooboostore/core-web/document/DocumentUtils';\nimport { isDefined } from '@dooboostore/core/types';\nimport { isOnBeforeReturnSet } from './lifecycle/OnBeforeReturnSet';\nimport { isOnChildRenderedByProperty } from './lifecycle/OnChildRenderedByProperty';\nimport { ObjectUtils } from '@dooboostore/core/object/ObjectUtils';\nimport {ValidUtils} from '@dooboostore/core/valid/ValidUtils'\nimport { isOnProxyDomRender } from './lifecycle/OnProxyDomRender';\n\nconst excludeGetSetPropertys = ['onBeforeReturnGet', 'onBeforeReturnSet', '__domrender_components', '__render', '_DomRender_isFinal', '_domRender_ref', '_rawSets', '_domRender_proxy', '_targets', '_DomRender_origin', '_DomRender_ref', '_DomRender_proxy'];\nexport const isWrapProxyDomRenderProxy = <T>(obj: T): boolean => {\n return obj && typeof obj === 'object' && ('_DomRender_isProxy' in obj);\n};\nexport const getDomRenderOriginObject = <T>(obj: T):T => {\n if (isWrapProxyDomRenderProxy(obj)) {\n return (obj as any)._domRender_origin;\n }\n return obj;\n}\nexport const getDomRenderConfig = (obj: any): DomRenderConfig | undefined => {\n if (isWrapProxyDomRenderProxy(obj)) {\n return obj._domRender_config;\n }\n return undefined;\n}\n//@ts-ignore\nexport const getDomRenderProxy = <T>(obj: T): DomRenderProxy<T> | undefined => {\n if (isWrapProxyDomRenderProxy(obj)) {\n //@ts-ignore\n return (obj as any)._domRender_proxy as DomRenderProxy<T>;\n }\n return undefined;\n}\nexport class DomRenderProxy<T extends object> implements ProxyHandler<T> {\n public _domRender_ref = new Map<object, Set<string>>();\n public _rawSets = new Map<string, Set<RawSet>>();\n public _domRender_proxy?: T;\n // public _firstTarget: Node;\n public _targets = new Set<Node>();\n\n constructor(public _domRender_origin: T, target: Node | null | undefined, public _domRender_config: DomRenderConfig) {\n if (target) {\n this._targets.add(target);\n // this._firstTarget = target;\n }\n\n // setInterval(() => {\n // this._rawSets.forEach(it => {\n // Array.from(it).forEach(it => {\n // console.log(it, it.isConnected)\n // })\n // });\n // }, 1000)\n }\n\n public static unFinal<T = any>(obj: T): T {\n return DomRenderFinalProxy.unFinal(obj);\n }\n\n public static final<T = any>(obj: T): T {\n return DomRenderFinalProxy.final(obj);\n }\n\n public static isFinal<T = any>(obj: T) {\n return DomRenderFinalProxy.isFinal(obj);\n }\n\n public run(objProxy: T) {\n this._domRender_proxy = objProxy;\n if (isOnProxyDomRender(objProxy)) {\n objProxy.onProxyDomRender(this._domRender_config);\n }\n const obj = getDomRenderOriginObject<any>(objProxy);\n if (obj) {\n Object.keys(obj).forEach(it => {\n // Reflect \uBA54\uD0C0\uB370\uC774\uD130\uC5D0\uC11C domRender:NoProxy \uC5EC\uBD80 \uD655\uC778\n try {\n const isNoProxy = Reflect.getMetadata(DomRenderNoProxyKey, obj, it) || Reflect.getMetadata(DomRenderNoProxyKey, Object.getPrototypeOf(obj).constructor);\n if (isNoProxy) {\n return obj;\n }\n } catch (e) {\n }\n const target = obj[it];\n if (target !== undefined && target !== null && typeof target === 'object' && !DomRenderProxy.isFinal(target) && !Object.isFrozen(target) && !(obj instanceof Shield)) {\n const isExcluded = this._domRender_config.proxyExcludeTyps?.some(it => target instanceof it) ?? false;\n // const filter = this._domRender_config.proxyExcludeTyps?.filter(it => target instanceof it) ?? [];\n if (!isExcluded) {\n const proxyAfter = this.proxy(objProxy, target, it);\n obj[it] = proxyAfter;\n }\n }\n });\n }\n // console.log('target', this._targets);\n this._targets.forEach(target => {\n this.initRender(target);\n });\n }\n\n public initRender(target: Node, rawSet?: RawSet) {\n\n // if (target instanceof Element) {\n // target.setAttribute('dr-this', 'this');\n // const rawSets = RawSet.checkPointCreates(target, this._domRender_proxy, this.config);\n // this.render(rawSets)\n // return;\n // }\n //\n if (target instanceof Element) {\n // \uC911\uC694: \uB098\uB97C\uD1B5\uD574 \uC774\uC5B4\uC9C4\uACF3\uC758 \uC704\uCE58\uB97C \uB0A8\uACA8\uC57C\uB41C\uB2E4 \uC548\uADF8\uB7EC\uBA74 TargetElement\uB294 \uC54C\uC218 \uC788\uB294 \uBC29\uBC95\uC774 \uC5C6\uB2E4. \uC5EC\uAE30\uC11C \uD754\uC801\uC744 \uB0A8\uACA8\uC918\uC57C \uD55C\uB2E4.\n // const targetElementNames = (this.config.targetElements?.map(it => it.name.toLowerCase().replaceAll('.', '\\\\.')) ?? []).join(',');\n // Array.from(target.querySelectorAll(targetElementNames)).forEach(it => it.setAttribute(EventManager.parentVariablePathAttrName, '@this@'));\n target.innerHTML = target.innerHTML.replace(/@this@/g, 'this');\n }\n // TODO: \uD55C\uACF3\uC5D0\uC11C \uCC98\uB9AC \uD544\uC694\uD560\uB4EF.. \uB108\uBB34 \uC0B0\uBC1C\uC801\uC73C\uB85C \uC788\uC74C.\n const onCreate = (target as any).getAttribute?.(RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME);\n let createParam: any[] = [];\n if (onCreate) {\n createParam = ScriptUtils.evaluateReturn(onCreate, this._domRender_proxy);\n if (!Array.isArray(createParam)) {\n createParam = [createParam];\n }\n }\n\n if (isOnCreateRenderData(this._domRender_proxy)) {\n this._domRender_proxy?.onCreateRenderData({ rootParent: this._domRender_proxy });\n }\n\n if (isOnCreateRender(this._domRender_proxy)) {\n this._domRender_proxy.onCreateRender(...createParam);\n }\n\n // const innerHTML = (target as any).innerHTML ?? '';\n this._targets.add(target);\n const rawSets = RawSet.checkPointCreates(target, this._domRender_proxy, this._domRender_config);\n // console.log('initRender -------rawSet', rawSets)\n // \uC911\uC694 \uCD08\uAE30\uC5D0 \uD55C\uBC88 \uD295\uACA8\uC918\uC57C\uD568.\n this._domRender_config.eventManager.applyEvent(this._domRender_proxy, this._domRender_config.eventManager.findAttrElements(target as Element, this._domRender_config), this._domRender_config);\n rawSets.forEach(it => {\n const variables = it.getUsingTriggerVariables(this._domRender_config);\n if (variables.size <= 0) {\n this.addRawSet('', it);\n } else {\n variables.forEach(sit => {\n this.addRawSet(sit, it);\n });\n }\n });\n this.render(this.getRawSets()).then(it => {\n // const render = {target} as Render;\n // const creatorMetaData = {\n // creator: this._domRender_proxy,\n // rootCreator: this._domRender_proxy,\n // innerHTML\n // } as CreatorMetaData;\n const onInit = (target as any).getAttribute?.(RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME);\n let initParam: any;\n if (onCreate) {\n initParam = ScriptUtils.evaluateReturn(onCreate, this._domRender_proxy);\n // if (!Array.isArray(initParam)) {\n // initParam = [initParam];\n // }\n }\n if (isOnInitRender(this._domRender_proxy)) {\n this._domRender_proxy.onInitRender(initParam, rawSet ?? {dataSet: {config: this._domRender_config}} as any);\n }\n });\n\n }\n\n public getRawSets() {\n const set = new Set<RawSet>();\n this._rawSets.forEach((v, k) => {\n v.forEach(it => set.add(it));\n });\n return Array.from(set);\n }\n\n // \uC911\uC694 important\n public async render(raws?: RawSet[] | string, fullPathStr?: string) {\n if (typeof raws === 'string') {\n const iter = this._rawSets.get(raws);\n if (iter) {\n raws = Array.from(iter);\n } else {\n raws = undefined;\n }\n }\n const removeRawSets: RawSet[] = [];\n const rawSets = raws ?? this.getRawSets();\n\n // console.log('----', rawSets);\n for (const it of rawSets as RawSet[]) {\n it.getUsingTriggerVariables(this._domRender_config).forEach(path => {\n // console.log('getUsingTriggerVariables->', path);\n this.addRawSet(path, it);\n });\n if (it.isConnected) {\n // \uC911\uC694 render\uB420\uB54C targetAttribute \uCCB4\uD06C \uD574\uC57C\uD568.\n const targetAttrMap = (it.point.node as Element)?.getAttribute?.(EventManager.normalAttrMapAttrName);\n // console.log('sssssssssSSS?',it, targetAttrMap)\n // console.log('----2', it, fullPathStr, targetAttrMap, (it.fragment as any).render, it.isConnected, this.getRawSets());\n if (it.detect?.action) {\n it.detect.action();\n // } else if (it.type === RawSetType.TARGET_ELEMENT && it.data && fullPathStr && targetAttrMap && (it.fragment as any).render) {\n } else if (it.type === RawSetType.TARGET_ELEMENT && it.dataSet?.render?.currentThis && fullPathStr && targetAttrMap) {\n new Map<string, string>(JSON.parse(targetAttrMap)).forEach((v, k) => {\n // it?.data.onChangeAttrRender(k, null, v);\n const isUsing = EventManager.isUsingThisVar(v, `this.${fullPathStr}`);\n if (isUsing) {\n const targetAttrObject = RawSet.getAttributeObject((it.point.node as Element), { script: it.dataSet?.render?.renderScript ?? '', obj: Object.assign(this._domRender_proxy ?? {}, { __render: it.dataSet?.render }) });\n it.dataSet.render??={};\n it.dataSet.render.attribute = targetAttrObject;\n // const render = it.dataSet?.render;\n // console.log('render-->!!!!!', it.dataSet.render);\n // const script = `${render.renderScript} return ${v} `;\n // const cval = ScriptUtils.eval(script, Object.assign(this._domRender_proxy ?? {}, { __render: render }));\n if (isOnChangeAttrRender(it.dataSet?.render?.currentThis)) {\n it.dataSet?.render?.currentThis?.onChangeAttrRender?.(k, targetAttrObject[k], { rawSet: it });\n }\n }\n // console.log('---?', v, fullPathStr, isUsing);\n });\n // ------------------->\n } else {\n const rawSets = await it.render(this._domRender_proxy, this._domRender_config);\n // \uADF8\uC678 \uC790\uC2DD\uB4E4 render\n if (rawSets && rawSets.length > 0) {\n await this.render(rawSets);\n }\n }\n } else {\n removeRawSets.push(it);\n }\n }\n\n if (removeRawSets.length > 0) {\n this.removeRawSet(...removeRawSets);\n }\n return this.getRawSets();\n }\n\n // domrender_ref\uB85C \uCC3E\uB294\uAC78\uB85C \uBC14\uAFC8\n // public findRootDomRenderProxy(): DomRenderProxy<any> {\n // let current:DomRenderProxy<any> = this;\n // while (current.parentProxy) {\n // current = current.parentProxy;\n // }\n // return current;\n // }\n\n public root(pathInfos: {path: string, obj: any}[][], value?: any, lastDoneExecute = true): {path: string, obj:any}[][] {\n // console.log('root--->', paths, value, this._domRender_ref, this._domRender_origin);\n const fullPaths: {path: string, obj:any}[][] = [];\n if (this._domRender_ref.size > 0) {\n this._domRender_ref.forEach((it, key) => {\n if ('_DomRender_isProxy' in key) {\n it.forEach(sit => {\n try {\n\n const concat = pathInfos.concat([[{path: sit, obj: key}]]);\n const items:{path: string, obj:any}[][] = (key as any)._DomRender_proxy?.root(concat, value, lastDoneExecute);\n\n fullPaths.push(items.flat());\n // fullPaths.push({path: items.map(it=>it.path).join(','), obj: this._domRender_proxy});\n // fullPaths.push({path: items.map(it=>it.path).join(','), obj: this._domRender_proxy});\n } catch (e) {\n // \uC624\uBE0C\uC81D\uD2B8\uB4E4 \uC5C6\uC5B4\uC84C\uC744\uC218\uB3C4\uC788\uB2E4 Destroy\uC2DC\uC810\uC5D0\uC11C \uC624\uB958\uB098\uB294\uACBD\uC6B0\uAC00 \uC788\uB2E4. \uB530\uB77C\uC11C \uCC38\uC870 \uD558\uB294\uBD80\uBD84 \uC5C6\uC5B4\uC838\uC57C\uD55C\uB2E4.\n // console.error(e)\n // it.delete(sit);\n }\n });\n }\n });\n } else {\n // const firstPathStr = paths.slice(1).reverse().join('.');\n const strings = pathInfos.reverse().map(it=>it.map(it=>it.path).join(','));\n // array\uAC19\uC740\uACBD\uC6B0\uB3C4 \uD0A4\uAC12\uC73C\uB85C \uC811\uADFC\uD558\uAE30\uB54C\uBB38\uC5D0 \uD2B9\uC815 \uC778\uB371\uC2A4\uB97C \uCC3E\uC544\uC11C \uADF8\uBD80\uBD84\uB9CC \uBC14\uAFD4\uC904\uC218 \uC788\uB2E4.\n const fullPathStr = strings.map(it => isNaN(Number(it)) ? '.' + it : `[${it}]`).join('').slice(1);\n // console.log('-------fullPathStr', fullPathStr, lastDoneExecute);\n if (lastDoneExecute) {\n // const firstData = ScriptUtils.evalReturn('this.' + firstPathStr, this._domRender_proxy);\n // console.log('-------', firstPathStr, firstData);\n // if (firstData instanceof Dictionary) {\n // }\n const iterable = this._rawSets.get(fullPathStr);\n // array check\n const front = strings.slice(0, strings.length - 1).map(it => isNaN(Number(it)) ? '.' + it : `[${it}]`).join('');\n const lastPropertyName = strings[strings.length - 1];\n const path = 'this' + front;\n const data = ScriptUtils.evaluateReturn(ObjectUtils.Path.toOptionalChainPath(path), this._domRender_proxy);\n // console.log('root-->', this._rawSets, path, data );\n // console.log('--!!!!', fullPathStr, iterable, data, front, last);\n // \uC65C\uC5EC\uAE30\uC11C promise\uB97C \uD588\uC744\uAE4C\uB97C \uC0DD\uAC01\uD574\uBCF4\uBA74......\uD6D4.. \uBCC0\uC218\uBCC0\uACBD\uACFC \uD654\uBA74 \uBFCC\uB824\uC8FC\uB294\uAC78 \uB3D9\uAE30\uB85C\uD558\uBA74 \uC131\uB2A5\uC774 \uC548\uB098\uC624\uACE0 \uBE44\uD604\uC2E4\uC801\uC774\uB2E4. \uADF8\uB798\uC11C promise\n new Promise<RawSet[]>(async resolve => {\n let rData: RawSet[] = [];\n const firstPathStr = front.slice(1);\n\n // check dictionary\n // console.log('-promise-------', firstPathStr, this)\n const firstTargets = this._rawSets.get(firstPathStr);\n const firstTargetDictionary: RawSet[] = [];\n firstTargets?.forEach(it => {\n // console.log('----forEach---', it);\n const type = (it.point.start as Element).getAttribute?.('type');\n if (type === RawSetOperatorType.DR_THIS_PROPERTY) {\n firstTargetDictionary.push(it);\n }\n });\n if (firstTargetDictionary.length > 0) {\n // console.log('ddddddddddd', firstTargetDictionary);\n const rawSets: RawSet[] = [];\n let skip = false;\n firstTargetDictionary.forEach(it => {\n const startElement = it.point.start as Element;\n const keys = startElement.getAttribute(RawSet.DR_HAS_KEYS_OPTIONNAME)?.split(',') ?? [];\n if (value === undefined) {\n const rawSet = it.getHasRawSet(lastPropertyName);\n rawSet?.remove();\n startElement.setAttribute(RawSet.DR_HAS_KEYS_OPTIONNAME, keys.filter(it => it !== lastPropertyName).join(','));\n }\n if (!keys.includes(lastPropertyName)) {\n const raws = DrThisProperty.append(this._domRender_proxy, fullPathStr, lastPropertyName, it, this._domRender_config);\n if (raws) {\n rawSets.push(...raws);\n }\n } else {\n skip = true;\n }\n });\n if (skip === false || rawSets.length > 0) {\n rData = await this.render(rawSets);\n }\n }\n\n if (lastPropertyName === 'length' && Array.isArray(data)) {\n const aIterable = this._rawSets.get(firstPathStr);\n if (aIterable) {\n rData = await this.render(Array.from(aIterable));\n }\n } else if (iterable) {\n // console.log('------------',iterable, fullPaths)\n rData = await this.render(Array.from(iterable), fullPathStr);\n }\n\n\n\n // console.log('-----------', this, lastPropertyName );\n // this._targets.forEach(it => {\n // // return;\n // if (it.nodeType === Node.DOCUMENT_FRAGMENT_NODE || it.nodeType === Node.ELEMENT_NODE) {\n // const targets = eventManager.findAttrElements((it as DocumentFragment | Element), this.config);\n // eventManager.changeVar(this._domRender_proxy, targets, `this.${fullPathStr}`, this.config);\n // }\n // });\n\n\n this._targets.forEach(it => {\n // return;\n if (it.nodeType === Node.DOCUMENT_FRAGMENT_NODE || it.nodeType === Node.ELEMENT_NODE) {\n const targets = this._domRender_config.eventManager.findAttrElements((it as DocumentFragment | Element), this._domRender_config);\n this._domRender_config.eventManager.changeVar(this._domRender_proxy, targets, `this.${fullPathStr}`, this._domRender_config);\n }\n });\n\n //\uB79C\uB354\uB300\uC0C1\uB41C\uAC8C\uC788\uC73C\uBA74\n if(rData?.length > 0 && isOnChildRenderedByProperty(data)) {\n const propertyValue = ScriptUtils.evaluateReturn(`this.${lastPropertyName}`, data)\n data.onChildRenderedByProperty(lastPropertyName, propertyValue);\n // data\n }\n resolve(rData);\n }).then(it => {\n // console.log('DonrenderProxy root RenderDone')\n });\n }\n fullPaths.push([{path:fullPathStr, obj: this._domRender_proxy}]);\n }\n\n // console.log('dddddd', fullPaths.flatMap(it=>it).map(it=>it.path))\n return fullPaths;\n }\n\n public set(target: T, p: string | symbol, value: any, receiver: T): boolean {\n // console.log('set------->', target, p, value, receiver, Date.now())\n // console.log('set------->', target, p, value, receiver, Date.now())\n // try {\n // const isNoProxy = Reflect.getMetadata(DomRenderNoProxyKey, target, p) || Reflect.getMetadata(DomRenderNoProxyKey, Object.getPrototypeOf(obj).constructor);\n // if (isNoProxy) {\n // return obj;\n // }\n // }catch (e) {}\n\n // console.log('set-->', p, value, target, receiver, Reflect.getMetadata(DomRenderNoProxyKey, target, p) );\n\n if (\n (typeof p === 'string' && p !== '__domrender_components' && excludeGetSetPropertys.includes(p)) ||\n Reflect.getMetadata(DomRenderNoProxyKey, target, p)\n ) {\n (target as any)[p] = value;\n return true;\n }\n // const old = (target as any)[p];\n // console.log('set proxy-->', target, p, value, this._rawSets, this._domRender_ref);\n // if (typeof p === 'string' && '__render' === p) {\n // (target as any)[p] = value;\n // return true;\n // }\n // console.log('set--?', p, target, value);\n\n if (typeof p === 'string') {\n value = this.proxy(receiver, value, p);\n }\n\n // console.log('set typeChecked', (target as any)[p] instanceof ComponentSet, value instanceof ComponentSet);\n // if ((target as any)[p] instanceof ComponentSet) {\n // (target as any)[p]?.obj?.onDrThisUnBind?.();\n // }\n // is ComponentSet\n if ((value instanceof ComponentSet) && ((target as any)[p] instanceof ComponentSet)) {\n value.config.beforeComponentSet = (target as any)[p];\n }\n (target as any)[p] = value;\n let fullPathInfo: {path: string, obj:any}[][] = [];\n if (typeof p === 'string') {\n fullPathInfo = this.root([[{path:p, obj: this._domRender_proxy}]], value)\n }\n\n // console.log('setRooot', fullPathInfo);\n\n\n //normal attribute \uB610\uD55C \uB9C1\uD06C\uB791 \uAC19\uC740 \uC99D\uC138\uB77C\uC11C \uC774\uB807\uAC8C \uD574\uC918\uC57C\uD55C\uB2E4!!\n // const rootDomRenderProxy = this.findRootDomRenderProxy();\n // console.log('set!!!!!!!', fullPathInfo, rootDomRenderProxy)\n // console.log('--------rootDom',fullPathInfo, rootDomRenderProxy, rootDomRenderProxy._domRender_proxy)\n const rootElement = this._domRender_config.rootElement ?? this._domRender_config.window.document;\n DocumentUtils.querySelectorAllByAttributeName(rootElement, EventManager.normalAttrMapAttrName)?.forEach(elementInfo => {\n // @ts-ignore\n // const optionalPath = ObjectUtils.Path.toOptionalChainPath(elementInfo.value);\n const targets = new Map<string,string>(ScriptUtils.evaluateReturn<[string, string][]>(elementInfo.value));\n Array.from(targets.entries()).filter(([key, value])=>value.trim()).filter(isDefined).flatMap(([key,valueScript])=> {\n return fullPathInfo.flat().filter(it => valueScript.includes(`this.${it.path}`)).flatMap(it=> ({key, valueScript: valueScript, pathInfo: it}));\n }).forEach(it=> {\n const optionalPath = ObjectUtils.Path.toOptionalChainPath(it.valueScript);\n const value1 = ScriptUtils.evaluateReturn(optionalPath, it.pathInfo.obj);\n // console.log('proxy set!Attribut======', it.key, value1)\n if (value1 === null) {\n elementInfo.element.removeAttribute(it.key);\n elementInfo.element[it.key] = null;\n } else {\n elementInfo.element.setAttribute(it.key, value1);\n elementInfo.element[it.key] = value1\n }\n })\n })\n\n //\uC5EC\uAE30\uC11C \uB9C1\uD06C \uAC19\uC740\uAC70 \uD574\uC918\uC57C\uD568 *-link\uB85C \uBCC0\uC218\uAC12\uC774 \uBCC0\uACBD\uB418\uBA74 \uADF8\uAC78 \uCC38\uACE0\uD558\uACE0\uC788\uB294 \uB2E4\uB978\uAC83\uB4E4\uC5D0\uB3C4 \uD574\uC918\uC57C\uD55C\uB2E4.\n DocumentUtils.querySelectorAllByAttributeName(rootElement, EventManager.linkTargetMapAttrName)?.forEach(elementInfo => {\n // @ts-ignore\n const targets = new Map<string,string>(ScriptUtils.evaluateReturn<[string, string][]>(elementInfo.value));\n\n Array.from(targets.entries()).filter(([key, value])=>value.trim()).filter(isDefined).flatMap(([key,valueScript])=> {\n return fullPathInfo.flat().filter(it => valueScript.includes(`this.${it.path}`)).flatMap(it=> ({key, valueScript: valueScript, pathInfo: it}));\n }).forEach(info=> {\n const value1 = ScriptUtils.evaluateReturn(info.valueScript, info.pathInfo.obj);\n const applyAttributeName = EventManager.linkAttrs.find(it => it.name === info.key);\n if (applyAttributeName) {\n if (value1 === null) {\n elementInfo.element.removeAttribute(applyAttributeName.property);\n } else {\n // console.log('ppppppppppppppppppppppp', applyAttributeName, elementInfo)\n elementInfo.element.setAttribute(applyAttributeName.property, value1);\n }\n }\n })\n\n Array.from(targets.entries()).filter(([key, value])=>value.trim()).filter(isDefined).flatMap(([key,valueScript])=> {\n return fullPathInfo.flat().filter(it => valueScript.includes(`this.${it.path}`)).flatMap(it=> ({key, valueScript: valueScript, pathInfo: it}));\n }).forEach(info=> {\n const linkInfo = EventManager.linkAttrs.find(it=>it.name === info.key)\n if (linkInfo) {\n elementInfo.element[linkInfo.property] = value\n }\n })\n })\n if (('onBeforeReturnSet' in receiver) && typeof p === 'string' && !(this._domRender_config.proxyExcludeOnBeforeReturnSets ?? []).concat(excludeGetSetPropertys).includes(p)) {\n if(isOnBeforeReturnSet(receiver)){\n receiver.onBeforeReturnSet?.(p, value, fullPathInfo.map(it => it.map(it=>it.path).join()));\n }\n }\n return true;\n }\n\n get(target: T, p: string | symbol, receiver: any): any {\n // console.log('get-->', target, p, receiver);\n if (p === '_DomRender_origin' || p === '_domRender_origin') {\n return this._domRender_origin;\n } else if (p === '_DomRender_ref' || p === '_domRender_ref') {\n return this._domRender_ref;\n } else if (p === '_DomRender_config' || p ==='_domRender_config') {\n return this._domRender_config;\n } else if (p === '_DomRender_proxy' || p ==='_domRender_proxy') {\n return this;\n } else {\n // Date\uB77C\uB358\uC9C0 \uC774\uB7F0\uB188\uB4E4\uC740-_-\uD504\uB85D\uC2DC\uAC00 \uC774\uC0C1\uD558\uAC8C \uB3D9\uC791\uD574\uC11C\n // console.log('--->', p, target, target.bind, 'bind' in target)\n // if ((p in target) && ('bind' in target)) {\n // try{\n // return (target as any)[p].bind(target);\n // }catch (e) {\n // console.error(e)\n // }\n // } else {\n // return (target as any)[p]\n // }\n // return (p in target) ? (target as any)[p].bind(target) : (target as any)[p]\n // console.log('-->', p, Object.prototype.toString.call((target as any)[p]), (target as any)[p])\n // return (target as any)[p]\n let it = (target as any)[p];\n if (it && typeof it === 'object' && ('_DomRender_isProxy' in it) && Object.prototype.toString.call(it._DomRender_origin) === '[object Date]') {\n it = it._DomRender_origin;\n }\n\n if (('onBeforeReturnGet' in receiver) && typeof p === 'string' && !(this._domRender_config.proxyExcludeOnBeforeReturnGets ?? []).concat(excludeGetSetPropertys).includes(p)) {\n (receiver as any)?.onBeforeReturnGet?.(p, it, this.root([[{path:p, obj: this._domRender_proxy}]], it, false));\n }\n return it;\n }\n }\n\n deleteProperty(target: T, p: string | symbol): boolean {\n delete (target as any)[p];\n if (typeof p === 'string') {\n this.root([[{path:p, obj: this._domRender_proxy}]]);\n }\n return true;\n }\n\n has(target: T, p: string | symbol): boolean {\n return p === '_DomRender_isProxy' || p in target;\n }\n\n proxy(parentProxy: T, obj: T | any, p: string) {\n\n\n try {\n // const isNoProxy = Reflect.getMetadata(DomRenderNoProxyKey, obj, p) || Reflect.getMetadata(DomRenderNoProxyKey, Object.getPrototypeOf(obj).constructor);\n const isObject = typeof obj === 'object';\n const isNoProxy = isObject && isDomRenderNoProxy(obj,p)\n const isExclude = (this._domRender_config.proxyExcludeTyps?.some(it => obj instanceof it)) ?? false;\n const isFinal = isObject && DomRenderProxy.isFinal(obj);\n const isFrozen = Object.isFrozen(obj);\n const isShield = obj instanceof Shield;\n if (isNoProxy || isExclude || ValidUtils.isNullOrUndefined(obj) || !isObject || isFinal || isFrozen || isShield) {\n return obj;\n }\n } catch (e) {\n }\n\n\n/*\n const proxyTarget = (this._domRender_config.proxyExcludeTyps?.filter(it => obj instanceof it) ?? []).length <= 0;\n if (proxyTarget && obj !== undefined && obj !== null && typeof obj === 'object' && !('_DomRender_isProxy' in obj) && !DomRenderProxy.isFinal(obj) && !Object.isFrozen(obj) && !(obj instanceof Shield)) {\n const domRender = new DomRenderProxy(obj, undefined, this._domRender_config);\n domRender.addRef(parentProxy, p);\n const proxy = new Proxy(obj, domRender);\n domRender.run(proxy);\n return proxy;\n }\n if (proxyTarget && obj !== undefined && obj !== null && typeof obj === 'object' && ('_DomRender_isProxy' in obj) && !DomRenderProxy.isFinal(obj) && !Object.isFrozen(obj) && !(obj instanceof Shield)) {\n const d = (obj as any)._DomRender_proxy as DomRenderProxy<T>;\n d.addRef(this._domRender_proxy!, p);\n return obj;\n } else {\n return obj;\n }\n */\n if ( !isWrapProxyDomRenderProxy(obj)) {\n const domRender = new DomRenderProxy(obj, undefined, this._domRender_config);\n domRender.addRef(parentProxy, p);\n const proxy = new Proxy(obj, domRender);\n domRender.run(proxy);\n return proxy;\n }\n if (isWrapProxyDomRenderProxy(obj)) {\n const d = (obj as any)._DomRender_proxy as DomRenderProxy<T>;\n d.addRef(this._domRender_proxy!, p);\n return obj;\n } else {\n return obj;\n }\n }\n\n public addRef(parent: object, path: string) {\n if (!this._domRender_ref.get(parent)) {\n this._domRender_ref.set(parent, new Set<string>());\n }\n this._domRender_ref.get(parent)?.add(path);\n }\n\n public addRawSetAndRender(path: string, rawSet: RawSet) {\n this.addRawSet(path, rawSet);\n this.render([rawSet]);\n }\n\n public addRawSet(path: string, rawSet: RawSet) {\n // console.log('addRawSet--> path:', path, 'rawSet:', rawSet)\n if (!this._rawSets.get(path)) {\n this._rawSets.set(path, new Set<RawSet>());\n }\n this._rawSets.get(path)?.add(rawSet);\n }\n\n // public removeRawSet(...raws: RawSet[]) {\n // this._rawSets.forEach(it => {\n // raws.forEach(sit => it.delete(sit));\n // })\n // this.garbageRawSet();\n // }\n\n public removeRawSet(...raws: RawSet[]) {\n this._rawSets.forEach(it => {\n it.forEach(sit => {\n if (!sit.isConnected) {\n it.delete(sit);\n } else if (raws.includes(sit)) {\n it.delete(sit);\n }\n });\n });\n this.targetGarbageRawSet();\n }\n\n private targetGarbageRawSet() {\n this._targets.forEach(it => {\n if (!it.isConnected) {\n this._targets.delete(it);\n }\n });\n }\n\n private garbageRawSet() {\n this._targets.forEach(it => {\n if (!it.isConnected) {\n this._targets.delete(it);\n }\n });\n\n this._rawSets.forEach(it => {\n it.forEach(sit => {\n if (!sit.isConnected) {\n it.delete(sit);\n }\n });\n });\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;AAAA;;8BAAO;",
6
+ "names": []
7
+ }
@@ -1,4 +1,3 @@
1
- import 'reflect-metadata';
2
1
  import { RawSet } from './rawsets/RawSet';
3
2
  import { DomRenderConfig } from './configs/DomRenderConfig';
4
3
  export declare const isWrapProxyDomRenderProxy: <T>(obj: T) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"DomRenderProxy.d.ts","sourceRoot":"","sources":["../../src/DomRenderProxy.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAqB5D,eAAO,MAAM,yBAAyB,GAAI,CAAC,EAAE,KAAK,CAAC,KAAG,OAErD,CAAC;AACF,eAAO,MAAM,wBAAwB,GAAI,CAAC,EAAE,KAAK,CAAC,KAAE,CAKnD,CAAA;AACD,eAAO,MAAM,kBAAkB,GAAI,KAAK,GAAG,KAAG,eAAe,GAAG,SAK/D,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAAE,KAAK,CAAC,KAAG,cAAc,CAAC,CAAC,CAAC,GAAG,SAMjE,CAAA;AACD,qBAAa,cAAc,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC;IAOnD,iBAAiB,EAAE,CAAC;IAA0C,iBAAiB,EAAE,eAAe;IAN5G,cAAc,2BAAkC;IAChD,QAAQ,2BAAkC;IAC1C,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAErB,QAAQ,YAAmB;gBAEf,iBAAiB,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,EAAS,iBAAiB,EAAE,eAAe;WAerG,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;WAI3B,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;WAIzB,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;IAI9B,GAAG,CAAC,QAAQ,EAAE,CAAC;IAiCf,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM;IAuExC,UAAU;IASJ,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAwE3D,IAAI,CAAC,SAAS,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,GAAG,CAAA;KAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,eAAe,UAAO,GAAG;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAC,GAAG,CAAA;KAAC,EAAE,EAAE;IAoI/G,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,OAAO;IA8G3E,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG;IAqCtD,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAQtD,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAI3C,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,MAAM;IAmDtC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAOnC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAK/C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAetC,YAAY,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE;IAarC,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,aAAa;CAetB"}
1
+ {"version":3,"file":"DomRenderProxy.d.ts","sourceRoot":"","sources":["../../src/DomRenderProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAqB5D,eAAO,MAAM,yBAAyB,GAAI,CAAC,EAAE,KAAK,CAAC,KAAG,OAErD,CAAC;AACF,eAAO,MAAM,wBAAwB,GAAI,CAAC,EAAE,KAAK,CAAC,KAAE,CAKnD,CAAA;AACD,eAAO,MAAM,kBAAkB,GAAI,KAAK,GAAG,KAAG,eAAe,GAAG,SAK/D,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAAE,KAAK,CAAC,KAAG,cAAc,CAAC,CAAC,CAAC,GAAG,SAMjE,CAAA;AACD,qBAAa,cAAc,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC;IAOnD,iBAAiB,EAAE,CAAC;IAA0C,iBAAiB,EAAE,eAAe;IAN5G,cAAc,2BAAkC;IAChD,QAAQ,2BAAkC;IAC1C,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAErB,QAAQ,YAAmB;gBAEf,iBAAiB,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,EAAS,iBAAiB,EAAE,eAAe;WAerG,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;WAI3B,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;WAIzB,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;IAI9B,GAAG,CAAC,QAAQ,EAAE,CAAC;IAiCf,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM;IAuExC,UAAU;IASJ,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAwE3D,IAAI,CAAC,SAAS,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,GAAG,CAAA;KAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,eAAe,UAAO,GAAG;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAC,GAAG,CAAA;KAAC,EAAE,EAAE;IAoI/G,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,OAAO;IA8G3E,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG;IAqCtD,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAQtD,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAI3C,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,MAAM;IAmDtC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAOnC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAK/C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAetC,YAAY,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE;IAarC,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,aAAa;CAetB"}
@@ -2,6 +2,7 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
5
6
  var __export = (target, all) => {
6
7
  for (var name in all)
7
8
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -15,6 +16,7 @@ var __copyProps = (to, from, except, desc) => {
15
16
  return to;
16
17
  };
17
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
18
20
  var DomRenderProxy_exports = {};
19
21
  __export(DomRenderProxy_exports, {
20
22
  DomRenderProxy: () => DomRenderProxy,
@@ -24,7 +26,6 @@ __export(DomRenderProxy_exports, {
24
26
  isWrapProxyDomRenderProxy: () => isWrapProxyDomRenderProxy
25
27
  });
26
28
  module.exports = __toCommonJS(DomRenderProxy_exports);
27
- var import_reflect_metadata = require("reflect-metadata");
28
29
  var import_RawSet = require("./rawsets/RawSet");
29
30
  var import_EventManager = require("./events/EventManager");
30
31
  var import_ScriptUtils = require("@dooboostore/core-web/script/ScriptUtils");
@@ -71,10 +72,11 @@ class DomRenderProxy {
71
72
  constructor(_domRender_origin, target, _domRender_config) {
72
73
  this._domRender_origin = _domRender_origin;
73
74
  this._domRender_config = _domRender_config;
74
- this._domRender_ref = /* @__PURE__ */ new Map();
75
- this._rawSets = /* @__PURE__ */ new Map();
75
+ __publicField(this, "_domRender_ref", /* @__PURE__ */ new Map());
76
+ __publicField(this, "_rawSets", /* @__PURE__ */ new Map());
77
+ __publicField(this, "_domRender_proxy");
76
78
  // public _firstTarget: Node;
77
- this._targets = /* @__PURE__ */ new Set();
79
+ __publicField(this, "_targets", /* @__PURE__ */ new Set());
78
80
  if (target) {
79
81
  this._targets.add(target);
80
82
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/DomRenderProxy.ts"],
4
- "sourcesContent": ["import 'reflect-metadata';\nimport { RawSet } from './rawsets/RawSet';\nimport { EventManager } from './events/EventManager';\nimport { DomRenderConfig } from './configs/DomRenderConfig';\nimport { ScriptUtils } from '@dooboostore/core-web/script/ScriptUtils';\nimport { DomRenderFinalProxy, Shield } from './types/Types';\nimport { RawSetType } from './rawsets/RawSetType';\nimport { DrThisProperty } from './operators/DrThisProperty';\nimport { RawSetOperatorType } from './rawsets/RawSetOperatorType';\nimport { ComponentSet } from './components/ComponentSet';\nimport { DomRenderNoProxyKey, isDomRenderNoProxy } from './decorators/DomRenderNoProxy';\nimport { isOnCreateRender } from './lifecycle/OnCreateRender';\nimport { isOnInitRender } from './lifecycle/OnInitRender';\nimport { isOnCreateRenderData } from './lifecycle/OnCreateRenderData';\nimport { isOnChangeAttrRender } from './lifecycle/OnChangeAttrRender';\nimport { DocumentUtils } from '@dooboostore/core-web/document/DocumentUtils';\nimport { isDefined } from '@dooboostore/core/types';\nimport { isOnBeforeReturnSet } from './lifecycle/OnBeforeReturnSet';\nimport { isOnChildRenderedByProperty } from './lifecycle/OnChildRenderedByProperty';\nimport { ObjectUtils } from '@dooboostore/core/object/ObjectUtils';\nimport {ValidUtils} from '@dooboostore/core/valid/ValidUtils'\nimport { isOnProxyDomRender } from './lifecycle/OnProxyDomRender';\n\nconst excludeGetSetPropertys = ['onBeforeReturnGet', 'onBeforeReturnSet', '__domrender_components', '__render', '_DomRender_isFinal', '_domRender_ref', '_rawSets', '_domRender_proxy', '_targets', '_DomRender_origin', '_DomRender_ref', '_DomRender_proxy'];\nexport const isWrapProxyDomRenderProxy = <T>(obj: T): boolean => {\n return obj && typeof obj === 'object' && ('_DomRender_isProxy' in obj);\n};\nexport const getDomRenderOriginObject = <T>(obj: T):T => {\n if (isWrapProxyDomRenderProxy(obj)) {\n return (obj as any)._domRender_origin;\n }\n return obj;\n}\nexport const getDomRenderConfig = (obj: any): DomRenderConfig | undefined => {\n if (isWrapProxyDomRenderProxy(obj)) {\n return obj._domRender_config;\n }\n return undefined;\n}\n//@ts-ignore\nexport const getDomRenderProxy = <T>(obj: T): DomRenderProxy<T> | undefined => {\n if (isWrapProxyDomRenderProxy(obj)) {\n //@ts-ignore\n return (obj as any)._domRender_proxy as DomRenderProxy<T>;\n }\n return undefined;\n}\nexport class DomRenderProxy<T extends object> implements ProxyHandler<T> {\n public _domRender_ref = new Map<object, Set<string>>();\n public _rawSets = new Map<string, Set<RawSet>>();\n public _domRender_proxy?: T;\n // public _firstTarget: Node;\n public _targets = new Set<Node>();\n\n constructor(public _domRender_origin: T, target: Node | null | undefined, public _domRender_config: DomRenderConfig) {\n if (target) {\n this._targets.add(target);\n // this._firstTarget = target;\n }\n\n // setInterval(() => {\n // this._rawSets.forEach(it => {\n // Array.from(it).forEach(it => {\n // console.log(it, it.isConnected)\n // })\n // });\n // }, 1000)\n }\n\n public static unFinal<T = any>(obj: T): T {\n return DomRenderFinalProxy.unFinal(obj);\n }\n\n public static final<T = any>(obj: T): T {\n return DomRenderFinalProxy.final(obj);\n }\n\n public static isFinal<T = any>(obj: T) {\n return DomRenderFinalProxy.isFinal(obj);\n }\n\n public run(objProxy: T) {\n this._domRender_proxy = objProxy;\n if (isOnProxyDomRender(objProxy)) {\n objProxy.onProxyDomRender(this._domRender_config);\n }\n const obj = getDomRenderOriginObject<any>(objProxy);\n if (obj) {\n Object.keys(obj).forEach(it => {\n // Reflect \uBA54\uD0C0\uB370\uC774\uD130\uC5D0\uC11C domRender:NoProxy \uC5EC\uBD80 \uD655\uC778\n try {\n const isNoProxy = Reflect.getMetadata(DomRenderNoProxyKey, obj, it) || Reflect.getMetadata(DomRenderNoProxyKey, Object.getPrototypeOf(obj).constructor);\n if (isNoProxy) {\n return obj;\n }\n } catch (e) {\n }\n const target = obj[it];\n if (target !== undefined && target !== null && typeof target === 'object' && !DomRenderProxy.isFinal(target) && !Object.isFrozen(target) && !(obj instanceof Shield)) {\n const isExcluded = this._domRender_config.proxyExcludeTyps?.some(it => target instanceof it) ?? false;\n // const filter = this._domRender_config.proxyExcludeTyps?.filter(it => target instanceof it) ?? [];\n if (!isExcluded) {\n const proxyAfter = this.proxy(objProxy, target, it);\n obj[it] = proxyAfter;\n }\n }\n });\n }\n // console.log('target', this._targets);\n this._targets.forEach(target => {\n this.initRender(target);\n });\n }\n\n public initRender(target: Node, rawSet?: RawSet) {\n\n // if (target instanceof Element) {\n // target.setAttribute('dr-this', 'this');\n // const rawSets = RawSet.checkPointCreates(target, this._domRender_proxy, this.config);\n // this.render(rawSets)\n // return;\n // }\n //\n if (target instanceof Element) {\n // \uC911\uC694: \uB098\uB97C\uD1B5\uD574 \uC774\uC5B4\uC9C4\uACF3\uC758 \uC704\uCE58\uB97C \uB0A8\uACA8\uC57C\uB41C\uB2E4 \uC548\uADF8\uB7EC\uBA74 TargetElement\uB294 \uC54C\uC218 \uC788\uB294 \uBC29\uBC95\uC774 \uC5C6\uB2E4. \uC5EC\uAE30\uC11C \uD754\uC801\uC744 \uB0A8\uACA8\uC918\uC57C \uD55C\uB2E4.\n // const targetElementNames = (this.config.targetElements?.map(it => it.name.toLowerCase().replaceAll('.', '\\\\.')) ?? []).join(',');\n // Array.from(target.querySelectorAll(targetElementNames)).forEach(it => it.setAttribute(EventManager.parentVariablePathAttrName, '@this@'));\n target.innerHTML = target.innerHTML.replace(/@this@/g, 'this');\n }\n // TODO: \uD55C\uACF3\uC5D0\uC11C \uCC98\uB9AC \uD544\uC694\uD560\uB4EF.. \uB108\uBB34 \uC0B0\uBC1C\uC801\uC73C\uB85C \uC788\uC74C.\n const onCreate = (target as any).getAttribute?.(RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME);\n let createParam: any[] = [];\n if (onCreate) {\n createParam = ScriptUtils.evaluateReturn(onCreate, this._domRender_proxy);\n if (!Array.isArray(createParam)) {\n createParam = [createParam];\n }\n }\n\n if (isOnCreateRenderData(this._domRender_proxy)) {\n this._domRender_proxy?.onCreateRenderData({ rootParent: this._domRender_proxy });\n }\n\n if (isOnCreateRender(this._domRender_proxy)) {\n this._domRender_proxy.onCreateRender(...createParam);\n }\n\n // const innerHTML = (target as any).innerHTML ?? '';\n this._targets.add(target);\n const rawSets = RawSet.checkPointCreates(target, this._domRender_proxy, this._domRender_config);\n // console.log('initRender -------rawSet', rawSets)\n // \uC911\uC694 \uCD08\uAE30\uC5D0 \uD55C\uBC88 \uD295\uACA8\uC918\uC57C\uD568.\n this._domRender_config.eventManager.applyEvent(this._domRender_proxy, this._domRender_config.eventManager.findAttrElements(target as Element, this._domRender_config), this._domRender_config);\n rawSets.forEach(it => {\n const variables = it.getUsingTriggerVariables(this._domRender_config);\n if (variables.size <= 0) {\n this.addRawSet('', it);\n } else {\n variables.forEach(sit => {\n this.addRawSet(sit, it);\n });\n }\n });\n this.render(this.getRawSets()).then(it => {\n // const render = {target} as Render;\n // const creatorMetaData = {\n // creator: this._domRender_proxy,\n // rootCreator: this._domRender_proxy,\n // innerHTML\n // } as CreatorMetaData;\n const onInit = (target as any).getAttribute?.(RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME);\n let initParam: any;\n if (onCreate) {\n initParam = ScriptUtils.evaluateReturn(onCreate, this._domRender_proxy);\n // if (!Array.isArray(initParam)) {\n // initParam = [initParam];\n // }\n }\n if (isOnInitRender(this._domRender_proxy)) {\n this._domRender_proxy.onInitRender(initParam, rawSet ?? {dataSet: {config: this._domRender_config}} as any);\n }\n });\n\n }\n\n public getRawSets() {\n const set = new Set<RawSet>();\n this._rawSets.forEach((v, k) => {\n v.forEach(it => set.add(it));\n });\n return Array.from(set);\n }\n\n // \uC911\uC694 important\n public async render(raws?: RawSet[] | string, fullPathStr?: string) {\n if (typeof raws === 'string') {\n const iter = this._rawSets.get(raws);\n if (iter) {\n raws = Array.from(iter);\n } else {\n raws = undefined;\n }\n }\n const removeRawSets: RawSet[] = [];\n const rawSets = raws ?? this.getRawSets();\n\n // console.log('----', rawSets);\n for (const it of rawSets as RawSet[]) {\n it.getUsingTriggerVariables(this._domRender_config).forEach(path => {\n // console.log('getUsingTriggerVariables->', path);\n this.addRawSet(path, it);\n });\n if (it.isConnected) {\n // \uC911\uC694 render\uB420\uB54C targetAttribute \uCCB4\uD06C \uD574\uC57C\uD568.\n const targetAttrMap = (it.point.node as Element)?.getAttribute?.(EventManager.normalAttrMapAttrName);\n // console.log('sssssssssSSS?',it, targetAttrMap)\n // console.log('----2', it, fullPathStr, targetAttrMap, (it.fragment as any).render, it.isConnected, this.getRawSets());\n if (it.detect?.action) {\n it.detect.action();\n // } else if (it.type === RawSetType.TARGET_ELEMENT && it.data && fullPathStr && targetAttrMap && (it.fragment as any).render) {\n } else if (it.type === RawSetType.TARGET_ELEMENT && it.dataSet?.render?.currentThis && fullPathStr && targetAttrMap) {\n new Map<string, string>(JSON.parse(targetAttrMap)).forEach((v, k) => {\n // it?.data.onChangeAttrRender(k, null, v);\n const isUsing = EventManager.isUsingThisVar(v, `this.${fullPathStr}`);\n if (isUsing) {\n const targetAttrObject = RawSet.getAttributeObject((it.point.node as Element), { script: it.dataSet?.render?.renderScript ?? '', obj: Object.assign(this._domRender_proxy ?? {}, { __render: it.dataSet?.render }) });\n it.dataSet.render??={};\n it.dataSet.render.attribute = targetAttrObject;\n // const render = it.dataSet?.render;\n // console.log('render-->!!!!!', it.dataSet.render);\n // const script = `${render.renderScript} return ${v} `;\n // const cval = ScriptUtils.eval(script, Object.assign(this._domRender_proxy ?? {}, { __render: render }));\n if (isOnChangeAttrRender(it.dataSet?.render?.currentThis)) {\n it.dataSet?.render?.currentThis?.onChangeAttrRender?.(k, targetAttrObject[k], { rawSet: it });\n }\n }\n // console.log('---?', v, fullPathStr, isUsing);\n });\n // ------------------->\n } else {\n const rawSets = await it.render(this._domRender_proxy, this._domRender_config);\n // \uADF8\uC678 \uC790\uC2DD\uB4E4 render\n if (rawSets && rawSets.length > 0) {\n await this.render(rawSets);\n }\n }\n } else {\n removeRawSets.push(it);\n }\n }\n\n if (removeRawSets.length > 0) {\n this.removeRawSet(...removeRawSets);\n }\n return this.getRawSets();\n }\n\n // domrender_ref\uB85C \uCC3E\uB294\uAC78\uB85C \uBC14\uAFC8\n // public findRootDomRenderProxy(): DomRenderProxy<any> {\n // let current:DomRenderProxy<any> = this;\n // while (current.parentProxy) {\n // current = current.parentProxy;\n // }\n // return current;\n // }\n\n public root(pathInfos: {path: string, obj: any}[][], value?: any, lastDoneExecute = true): {path: string, obj:any}[][] {\n // console.log('root--->', paths, value, this._domRender_ref, this._domRender_origin);\n const fullPaths: {path: string, obj:any}[][] = [];\n if (this._domRender_ref.size > 0) {\n this._domRender_ref.forEach((it, key) => {\n if ('_DomRender_isProxy' in key) {\n it.forEach(sit => {\n try {\n\n const concat = pathInfos.concat([[{path: sit, obj: key}]]);\n const items:{path: string, obj:any}[][] = (key as any)._DomRender_proxy?.root(concat, value, lastDoneExecute);\n\n fullPaths.push(items.flat());\n // fullPaths.push({path: items.map(it=>it.path).join(','), obj: this._domRender_proxy});\n // fullPaths.push({path: items.map(it=>it.path).join(','), obj: this._domRender_proxy});\n } catch (e) {\n // \uC624\uBE0C\uC81D\uD2B8\uB4E4 \uC5C6\uC5B4\uC84C\uC744\uC218\uB3C4\uC788\uB2E4 Destroy\uC2DC\uC810\uC5D0\uC11C \uC624\uB958\uB098\uB294\uACBD\uC6B0\uAC00 \uC788\uB2E4. \uB530\uB77C\uC11C \uCC38\uC870 \uD558\uB294\uBD80\uBD84 \uC5C6\uC5B4\uC838\uC57C\uD55C\uB2E4.\n // console.error(e)\n // it.delete(sit);\n }\n });\n }\n });\n } else {\n // const firstPathStr = paths.slice(1).reverse().join('.');\n const strings = pathInfos.reverse().map(it=>it.map(it=>it.path).join(','));\n // array\uAC19\uC740\uACBD\uC6B0\uB3C4 \uD0A4\uAC12\uC73C\uB85C \uC811\uADFC\uD558\uAE30\uB54C\uBB38\uC5D0 \uD2B9\uC815 \uC778\uB371\uC2A4\uB97C \uCC3E\uC544\uC11C \uADF8\uBD80\uBD84\uB9CC \uBC14\uAFD4\uC904\uC218 \uC788\uB2E4.\n const fullPathStr = strings.map(it => isNaN(Number(it)) ? '.' + it : `[${it}]`).join('').slice(1);\n // console.log('-------fullPathStr', fullPathStr, lastDoneExecute);\n if (lastDoneExecute) {\n // const firstData = ScriptUtils.evalReturn('this.' + firstPathStr, this._domRender_proxy);\n // console.log('-------', firstPathStr, firstData);\n // if (firstData instanceof Dictionary) {\n // }\n const iterable = this._rawSets.get(fullPathStr);\n // array check\n const front = strings.slice(0, strings.length - 1).map(it => isNaN(Number(it)) ? '.' + it : `[${it}]`).join('');\n const lastPropertyName = strings[strings.length - 1];\n const path = 'this' + front;\n const data = ScriptUtils.evaluateReturn(ObjectUtils.Path.toOptionalChainPath(path), this._domRender_proxy);\n // console.log('root-->', this._rawSets, path, data );\n // console.log('--!!!!', fullPathStr, iterable, data, front, last);\n // \uC65C\uC5EC\uAE30\uC11C promise\uB97C \uD588\uC744\uAE4C\uB97C \uC0DD\uAC01\uD574\uBCF4\uBA74......\uD6D4.. \uBCC0\uC218\uBCC0\uACBD\uACFC \uD654\uBA74 \uBFCC\uB824\uC8FC\uB294\uAC78 \uB3D9\uAE30\uB85C\uD558\uBA74 \uC131\uB2A5\uC774 \uC548\uB098\uC624\uACE0 \uBE44\uD604\uC2E4\uC801\uC774\uB2E4. \uADF8\uB798\uC11C promise\n new Promise<RawSet[]>(async resolve => {\n let rData: RawSet[] = [];\n const firstPathStr = front.slice(1);\n\n // check dictionary\n // console.log('-promise-------', firstPathStr, this)\n const firstTargets = this._rawSets.get(firstPathStr);\n const firstTargetDictionary: RawSet[] = [];\n firstTargets?.forEach(it => {\n // console.log('----forEach---', it);\n const type = (it.point.start as Element).getAttribute?.('type');\n if (type === RawSetOperatorType.DR_THIS_PROPERTY) {\n firstTargetDictionary.push(it);\n }\n });\n if (firstTargetDictionary.length > 0) {\n // console.log('ddddddddddd', firstTargetDictionary);\n const rawSets: RawSet[] = [];\n let skip = false;\n firstTargetDictionary.forEach(it => {\n const startElement = it.point.start as Element;\n const keys = startElement.getAttribute(RawSet.DR_HAS_KEYS_OPTIONNAME)?.split(',') ?? [];\n if (value === undefined) {\n const rawSet = it.getHasRawSet(lastPropertyName);\n rawSet?.remove();\n startElement.setAttribute(RawSet.DR_HAS_KEYS_OPTIONNAME, keys.filter(it => it !== lastPropertyName).join(','));\n }\n if (!keys.includes(lastPropertyName)) {\n const raws = DrThisProperty.append(this._domRender_proxy, fullPathStr, lastPropertyName, it, this._domRender_config);\n if (raws) {\n rawSets.push(...raws);\n }\n } else {\n skip = true;\n }\n });\n if (skip === false || rawSets.length > 0) {\n rData = await this.render(rawSets);\n }\n }\n\n if (lastPropertyName === 'length' && Array.isArray(data)) {\n const aIterable = this._rawSets.get(firstPathStr);\n if (aIterable) {\n rData = await this.render(Array.from(aIterable));\n }\n } else if (iterable) {\n // console.log('------------',iterable, fullPaths)\n rData = await this.render(Array.from(iterable), fullPathStr);\n }\n\n\n\n // console.log('-----------', this, lastPropertyName );\n // this._targets.forEach(it => {\n // // return;\n // if (it.nodeType === Node.DOCUMENT_FRAGMENT_NODE || it.nodeType === Node.ELEMENT_NODE) {\n // const targets = eventManager.findAttrElements((it as DocumentFragment | Element), this.config);\n // eventManager.changeVar(this._domRender_proxy, targets, `this.${fullPathStr}`, this.config);\n // }\n // });\n\n\n this._targets.forEach(it => {\n // return;\n if (it.nodeType === Node.DOCUMENT_FRAGMENT_NODE || it.nodeType === Node.ELEMENT_NODE) {\n const targets = this._domRender_config.eventManager.findAttrElements((it as DocumentFragment | Element), this._domRender_config);\n this._domRender_config.eventManager.changeVar(this._domRender_proxy, targets, `this.${fullPathStr}`, this._domRender_config);\n }\n });\n\n //\uB79C\uB354\uB300\uC0C1\uB41C\uAC8C\uC788\uC73C\uBA74\n if(rData?.length > 0 && isOnChildRenderedByProperty(data)) {\n const propertyValue = ScriptUtils.evaluateReturn(`this.${lastPropertyName}`, data)\n data.onChildRenderedByProperty(lastPropertyName, propertyValue);\n // data\n }\n resolve(rData);\n }).then(it => {\n // console.log('DonrenderProxy root RenderDone')\n });\n }\n fullPaths.push([{path:fullPathStr, obj: this._domRender_proxy}]);\n }\n\n // console.log('dddddd', fullPaths.flatMap(it=>it).map(it=>it.path))\n return fullPaths;\n }\n\n public set(target: T, p: string | symbol, value: any, receiver: T): boolean {\n // console.log('set------->', target, p, value, receiver, Date.now())\n // console.log('set------->', target, p, value, receiver, Date.now())\n // try {\n // const isNoProxy = Reflect.getMetadata(DomRenderNoProxyKey, target, p) || Reflect.getMetadata(DomRenderNoProxyKey, Object.getPrototypeOf(obj).constructor);\n // if (isNoProxy) {\n // return obj;\n // }\n // }catch (e) {}\n\n // console.log('set-->', p, value, target, receiver, Reflect.getMetadata(DomRenderNoProxyKey, target, p) );\n\n if (\n (typeof p === 'string' && p !== '__domrender_components' && excludeGetSetPropertys.includes(p)) ||\n Reflect.getMetadata(DomRenderNoProxyKey, target, p)\n ) {\n (target as any)[p] = value;\n return true;\n }\n // const old = (target as any)[p];\n // console.log('set proxy-->', target, p, value, this._rawSets, this._domRender_ref);\n // if (typeof p === 'string' && '__render' === p) {\n // (target as any)[p] = value;\n // return true;\n // }\n // console.log('set--?', p, target, value);\n\n if (typeof p === 'string') {\n value = this.proxy(receiver, value, p);\n }\n\n // console.log('set typeChecked', (target as any)[p] instanceof ComponentSet, value instanceof ComponentSet);\n // if ((target as any)[p] instanceof ComponentSet) {\n // (target as any)[p]?.obj?.onDrThisUnBind?.();\n // }\n // is ComponentSet\n if ((value instanceof ComponentSet) && ((target as any)[p] instanceof ComponentSet)) {\n value.config.beforeComponentSet = (target as any)[p];\n }\n (target as any)[p] = value;\n let fullPathInfo: {path: string, obj:any}[][] = [];\n if (typeof p === 'string') {\n fullPathInfo = this.root([[{path:p, obj: this._domRender_proxy}]], value)\n }\n\n // console.log('setRooot', fullPathInfo);\n\n\n //normal attribute \uB610\uD55C \uB9C1\uD06C\uB791 \uAC19\uC740 \uC99D\uC138\uB77C\uC11C \uC774\uB807\uAC8C \uD574\uC918\uC57C\uD55C\uB2E4!!\n // const rootDomRenderProxy = this.findRootDomRenderProxy();\n // console.log('set!!!!!!!', fullPathInfo, rootDomRenderProxy)\n // console.log('--------rootDom',fullPathInfo, rootDomRenderProxy, rootDomRenderProxy._domRender_proxy)\n const rootElement = this._domRender_config.rootElement ?? this._domRender_config.window.document;\n DocumentUtils.querySelectorAllByAttributeName(rootElement, EventManager.normalAttrMapAttrName)?.forEach(elementInfo => {\n // @ts-ignore\n // const optionalPath = ObjectUtils.Path.toOptionalChainPath(elementInfo.value);\n const targets = new Map<string,string>(ScriptUtils.evaluateReturn<[string, string][]>(elementInfo.value));\n Array.from(targets.entries()).filter(([key, value])=>value.trim()).filter(isDefined).flatMap(([key,valueScript])=> {\n return fullPathInfo.flat().filter(it => valueScript.includes(`this.${it.path}`)).flatMap(it=> ({key, valueScript: valueScript, pathInfo: it}));\n }).forEach(it=> {\n const optionalPath = ObjectUtils.Path.toOptionalChainPath(it.valueScript);\n const value1 = ScriptUtils.evaluateReturn(optionalPath, it.pathInfo.obj);\n // console.log('proxy set!Attribut======', it.key, value1)\n if (value1 === null) {\n elementInfo.element.removeAttribute(it.key);\n elementInfo.element[it.key] = null;\n } else {\n elementInfo.element.setAttribute(it.key, value1);\n elementInfo.element[it.key] = value1\n }\n })\n })\n\n //\uC5EC\uAE30\uC11C \uB9C1\uD06C \uAC19\uC740\uAC70 \uD574\uC918\uC57C\uD568 *-link\uB85C \uBCC0\uC218\uAC12\uC774 \uBCC0\uACBD\uB418\uBA74 \uADF8\uAC78 \uCC38\uACE0\uD558\uACE0\uC788\uB294 \uB2E4\uB978\uAC83\uB4E4\uC5D0\uB3C4 \uD574\uC918\uC57C\uD55C\uB2E4.\n DocumentUtils.querySelectorAllByAttributeName(rootElement, EventManager.linkTargetMapAttrName)?.forEach(elementInfo => {\n // @ts-ignore\n const targets = new Map<string,string>(ScriptUtils.evaluateReturn<[string, string][]>(elementInfo.value));\n\n Array.from(targets.entries()).filter(([key, value])=>value.trim()).filter(isDefined).flatMap(([key,valueScript])=> {\n return fullPathInfo.flat().filter(it => valueScript.includes(`this.${it.path}`)).flatMap(it=> ({key, valueScript: valueScript, pathInfo: it}));\n }).forEach(info=> {\n const value1 = ScriptUtils.evaluateReturn(info.valueScript, info.pathInfo.obj);\n const applyAttributeName = EventManager.linkAttrs.find(it => it.name === info.key);\n if (applyAttributeName) {\n if (value1 === null) {\n elementInfo.element.removeAttribute(applyAttributeName.property);\n } else {\n // console.log('ppppppppppppppppppppppp', applyAttributeName, elementInfo)\n elementInfo.element.setAttribute(applyAttributeName.property, value1);\n }\n }\n })\n\n Array.from(targets.entries()).filter(([key, value])=>value.trim()).filter(isDefined).flatMap(([key,valueScript])=> {\n return fullPathInfo.flat().filter(it => valueScript.includes(`this.${it.path}`)).flatMap(it=> ({key, valueScript: valueScript, pathInfo: it}));\n }).forEach(info=> {\n const linkInfo = EventManager.linkAttrs.find(it=>it.name === info.key)\n if (linkInfo) {\n elementInfo.element[linkInfo.property] = value\n }\n })\n })\n if (('onBeforeReturnSet' in receiver) && typeof p === 'string' && !(this._domRender_config.proxyExcludeOnBeforeReturnSets ?? []).concat(excludeGetSetPropertys).includes(p)) {\n if(isOnBeforeReturnSet(receiver)){\n receiver.onBeforeReturnSet?.(p, value, fullPathInfo.map(it => it.map(it=>it.path).join()));\n }\n }\n return true;\n }\n\n get(target: T, p: string | symbol, receiver: any): any {\n // console.log('get-->', target, p, receiver);\n if (p === '_DomRender_origin' || p === '_domRender_origin') {\n return this._domRender_origin;\n } else if (p === '_DomRender_ref' || p === '_domRender_ref') {\n return this._domRender_ref;\n } else if (p === '_DomRender_config' || p ==='_domRender_config') {\n return this._domRender_config;\n } else if (p === '_DomRender_proxy' || p ==='_domRender_proxy') {\n return this;\n } else {\n // Date\uB77C\uB358\uC9C0 \uC774\uB7F0\uB188\uB4E4\uC740-_-\uD504\uB85D\uC2DC\uAC00 \uC774\uC0C1\uD558\uAC8C \uB3D9\uC791\uD574\uC11C\n // console.log('--->', p, target, target.bind, 'bind' in target)\n // if ((p in target) && ('bind' in target)) {\n // try{\n // return (target as any)[p].bind(target);\n // }catch (e) {\n // console.error(e)\n // }\n // } else {\n // return (target as any)[p]\n // }\n // return (p in target) ? (target as any)[p].bind(target) : (target as any)[p]\n // console.log('-->', p, Object.prototype.toString.call((target as any)[p]), (target as any)[p])\n // return (target as any)[p]\n let it = (target as any)[p];\n if (it && typeof it === 'object' && ('_DomRender_isProxy' in it) && Object.prototype.toString.call(it._DomRender_origin) === '[object Date]') {\n it = it._DomRender_origin;\n }\n\n if (('onBeforeReturnGet' in receiver) && typeof p === 'string' && !(this._domRender_config.proxyExcludeOnBeforeReturnGets ?? []).concat(excludeGetSetPropertys).includes(p)) {\n (receiver as any)?.onBeforeReturnGet?.(p, it, this.root([[{path:p, obj: this._domRender_proxy}]], it, false));\n }\n return it;\n }\n }\n\n deleteProperty(target: T, p: string | symbol): boolean {\n delete (target as any)[p];\n if (typeof p === 'string') {\n this.root([[{path:p, obj: this._domRender_proxy}]]);\n }\n return true;\n }\n\n has(target: T, p: string | symbol): boolean {\n return p === '_DomRender_isProxy' || p in target;\n }\n\n proxy(parentProxy: T, obj: T | any, p: string) {\n\n\n try {\n // const isNoProxy = Reflect.getMetadata(DomRenderNoProxyKey, obj, p) || Reflect.getMetadata(DomRenderNoProxyKey, Object.getPrototypeOf(obj).constructor);\n const isObject = typeof obj === 'object';\n const isNoProxy = isObject && isDomRenderNoProxy(obj,p)\n const isExclude = (this._domRender_config.proxyExcludeTyps?.some(it => obj instanceof it)) ?? false;\n const isFinal = isObject && DomRenderProxy.isFinal(obj);\n const isFrozen = Object.isFrozen(obj);\n const isShield = obj instanceof Shield;\n if (isNoProxy || isExclude || ValidUtils.isNullOrUndefined(obj) || !isObject || isFinal || isFrozen || isShield) {\n return obj;\n }\n } catch (e) {\n }\n\n\n/*\n const proxyTarget = (this._domRender_config.proxyExcludeTyps?.filter(it => obj instanceof it) ?? []).length <= 0;\n if (proxyTarget && obj !== undefined && obj !== null && typeof obj === 'object' && !('_DomRender_isProxy' in obj) && !DomRenderProxy.isFinal(obj) && !Object.isFrozen(obj) && !(obj instanceof Shield)) {\n const domRender = new DomRenderProxy(obj, undefined, this._domRender_config);\n domRender.addRef(parentProxy, p);\n const proxy = new Proxy(obj, domRender);\n domRender.run(proxy);\n return proxy;\n }\n if (proxyTarget && obj !== undefined && obj !== null && typeof obj === 'object' && ('_DomRender_isProxy' in obj) && !DomRenderProxy.isFinal(obj) && !Object.isFrozen(obj) && !(obj instanceof Shield)) {\n const d = (obj as any)._DomRender_proxy as DomRenderProxy<T>;\n d.addRef(this._domRender_proxy!, p);\n return obj;\n } else {\n return obj;\n }\n */\n if ( !isWrapProxyDomRenderProxy(obj)) {\n const domRender = new DomRenderProxy(obj, undefined, this._domRender_config);\n domRender.addRef(parentProxy, p);\n const proxy = new Proxy(obj, domRender);\n domRender.run(proxy);\n return proxy;\n }\n if (isWrapProxyDomRenderProxy(obj)) {\n const d = (obj as any)._DomRender_proxy as DomRenderProxy<T>;\n d.addRef(this._domRender_proxy!, p);\n return obj;\n } else {\n return obj;\n }\n }\n\n public addRef(parent: object, path: string) {\n if (!this._domRender_ref.get(parent)) {\n this._domRender_ref.set(parent, new Set<string>());\n }\n this._domRender_ref.get(parent)?.add(path);\n }\n\n public addRawSetAndRender(path: string, rawSet: RawSet) {\n this.addRawSet(path, rawSet);\n this.render([rawSet]);\n }\n\n public addRawSet(path: string, rawSet: RawSet) {\n // console.log('addRawSet--> path:', path, 'rawSet:', rawSet)\n if (!this._rawSets.get(path)) {\n this._rawSets.set(path, new Set<RawSet>());\n }\n this._rawSets.get(path)?.add(rawSet);\n }\n\n // public removeRawSet(...raws: RawSet[]) {\n // this._rawSets.forEach(it => {\n // raws.forEach(sit => it.delete(sit));\n // })\n // this.garbageRawSet();\n // }\n\n public removeRawSet(...raws: RawSet[]) {\n this._rawSets.forEach(it => {\n it.forEach(sit => {\n if (!sit.isConnected) {\n it.delete(sit);\n } else if (raws.includes(sit)) {\n it.delete(sit);\n }\n });\n });\n this.targetGarbageRawSet();\n }\n\n private targetGarbageRawSet() {\n this._targets.forEach(it => {\n if (!it.isConnected) {\n this._targets.delete(it);\n }\n });\n }\n\n private garbageRawSet() {\n this._targets.forEach(it => {\n if (!it.isConnected) {\n this._targets.delete(it);\n }\n });\n\n this._rawSets.forEach(it => {\n it.forEach(sit => {\n if (!sit.isConnected) {\n it.delete(sit);\n }\n });\n });\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { RawSet } from './rawsets/RawSet';\nimport { EventManager } from './events/EventManager';\nimport { DomRenderConfig } from './configs/DomRenderConfig';\nimport { ScriptUtils } from '@dooboostore/core-web/script/ScriptUtils';\nimport { DomRenderFinalProxy, Shield } from './types/Types';\nimport { RawSetType } from './rawsets/RawSetType';\nimport { DrThisProperty } from './operators/DrThisProperty';\nimport { RawSetOperatorType } from './rawsets/RawSetOperatorType';\nimport { ComponentSet } from './components/ComponentSet';\nimport { DomRenderNoProxyKey, isDomRenderNoProxy } from './decorators/DomRenderNoProxy';\nimport { isOnCreateRender } from './lifecycle/OnCreateRender';\nimport { isOnInitRender } from './lifecycle/OnInitRender';\nimport { isOnCreateRenderData } from './lifecycle/OnCreateRenderData';\nimport { isOnChangeAttrRender } from './lifecycle/OnChangeAttrRender';\nimport { DocumentUtils } from '@dooboostore/core-web/document/DocumentUtils';\nimport { isDefined } from '@dooboostore/core/types';\nimport { isOnBeforeReturnSet } from './lifecycle/OnBeforeReturnSet';\nimport { isOnChildRenderedByProperty } from './lifecycle/OnChildRenderedByProperty';\nimport { ObjectUtils } from '@dooboostore/core/object/ObjectUtils';\nimport {ValidUtils} from '@dooboostore/core/valid/ValidUtils'\nimport { isOnProxyDomRender } from './lifecycle/OnProxyDomRender';\n\nconst excludeGetSetPropertys = ['onBeforeReturnGet', 'onBeforeReturnSet', '__domrender_components', '__render', '_DomRender_isFinal', '_domRender_ref', '_rawSets', '_domRender_proxy', '_targets', '_DomRender_origin', '_DomRender_ref', '_DomRender_proxy'];\nexport const isWrapProxyDomRenderProxy = <T>(obj: T): boolean => {\n return obj && typeof obj === 'object' && ('_DomRender_isProxy' in obj);\n};\nexport const getDomRenderOriginObject = <T>(obj: T):T => {\n if (isWrapProxyDomRenderProxy(obj)) {\n return (obj as any)._domRender_origin;\n }\n return obj;\n}\nexport const getDomRenderConfig = (obj: any): DomRenderConfig | undefined => {\n if (isWrapProxyDomRenderProxy(obj)) {\n return obj._domRender_config;\n }\n return undefined;\n}\n//@ts-ignore\nexport const getDomRenderProxy = <T>(obj: T): DomRenderProxy<T> | undefined => {\n if (isWrapProxyDomRenderProxy(obj)) {\n //@ts-ignore\n return (obj as any)._domRender_proxy as DomRenderProxy<T>;\n }\n return undefined;\n}\nexport class DomRenderProxy<T extends object> implements ProxyHandler<T> {\n public _domRender_ref = new Map<object, Set<string>>();\n public _rawSets = new Map<string, Set<RawSet>>();\n public _domRender_proxy?: T;\n // public _firstTarget: Node;\n public _targets = new Set<Node>();\n\n constructor(public _domRender_origin: T, target: Node | null | undefined, public _domRender_config: DomRenderConfig) {\n if (target) {\n this._targets.add(target);\n // this._firstTarget = target;\n }\n\n // setInterval(() => {\n // this._rawSets.forEach(it => {\n // Array.from(it).forEach(it => {\n // console.log(it, it.isConnected)\n // })\n // });\n // }, 1000)\n }\n\n public static unFinal<T = any>(obj: T): T {\n return DomRenderFinalProxy.unFinal(obj);\n }\n\n public static final<T = any>(obj: T): T {\n return DomRenderFinalProxy.final(obj);\n }\n\n public static isFinal<T = any>(obj: T) {\n return DomRenderFinalProxy.isFinal(obj);\n }\n\n public run(objProxy: T) {\n this._domRender_proxy = objProxy;\n if (isOnProxyDomRender(objProxy)) {\n objProxy.onProxyDomRender(this._domRender_config);\n }\n const obj = getDomRenderOriginObject<any>(objProxy);\n if (obj) {\n Object.keys(obj).forEach(it => {\n // Reflect \uBA54\uD0C0\uB370\uC774\uD130\uC5D0\uC11C domRender:NoProxy \uC5EC\uBD80 \uD655\uC778\n try {\n const isNoProxy = Reflect.getMetadata(DomRenderNoProxyKey, obj, it) || Reflect.getMetadata(DomRenderNoProxyKey, Object.getPrototypeOf(obj).constructor);\n if (isNoProxy) {\n return obj;\n }\n } catch (e) {\n }\n const target = obj[it];\n if (target !== undefined && target !== null && typeof target === 'object' && !DomRenderProxy.isFinal(target) && !Object.isFrozen(target) && !(obj instanceof Shield)) {\n const isExcluded = this._domRender_config.proxyExcludeTyps?.some(it => target instanceof it) ?? false;\n // const filter = this._domRender_config.proxyExcludeTyps?.filter(it => target instanceof it) ?? [];\n if (!isExcluded) {\n const proxyAfter = this.proxy(objProxy, target, it);\n obj[it] = proxyAfter;\n }\n }\n });\n }\n // console.log('target', this._targets);\n this._targets.forEach(target => {\n this.initRender(target);\n });\n }\n\n public initRender(target: Node, rawSet?: RawSet) {\n\n // if (target instanceof Element) {\n // target.setAttribute('dr-this', 'this');\n // const rawSets = RawSet.checkPointCreates(target, this._domRender_proxy, this.config);\n // this.render(rawSets)\n // return;\n // }\n //\n if (target instanceof Element) {\n // \uC911\uC694: \uB098\uB97C\uD1B5\uD574 \uC774\uC5B4\uC9C4\uACF3\uC758 \uC704\uCE58\uB97C \uB0A8\uACA8\uC57C\uB41C\uB2E4 \uC548\uADF8\uB7EC\uBA74 TargetElement\uB294 \uC54C\uC218 \uC788\uB294 \uBC29\uBC95\uC774 \uC5C6\uB2E4. \uC5EC\uAE30\uC11C \uD754\uC801\uC744 \uB0A8\uACA8\uC918\uC57C \uD55C\uB2E4.\n // const targetElementNames = (this.config.targetElements?.map(it => it.name.toLowerCase().replaceAll('.', '\\\\.')) ?? []).join(',');\n // Array.from(target.querySelectorAll(targetElementNames)).forEach(it => it.setAttribute(EventManager.parentVariablePathAttrName, '@this@'));\n target.innerHTML = target.innerHTML.replace(/@this@/g, 'this');\n }\n // TODO: \uD55C\uACF3\uC5D0\uC11C \uCC98\uB9AC \uD544\uC694\uD560\uB4EF.. \uB108\uBB34 \uC0B0\uBC1C\uC801\uC73C\uB85C \uC788\uC74C.\n const onCreate = (target as any).getAttribute?.(RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME);\n let createParam: any[] = [];\n if (onCreate) {\n createParam = ScriptUtils.evaluateReturn(onCreate, this._domRender_proxy);\n if (!Array.isArray(createParam)) {\n createParam = [createParam];\n }\n }\n\n if (isOnCreateRenderData(this._domRender_proxy)) {\n this._domRender_proxy?.onCreateRenderData({ rootParent: this._domRender_proxy });\n }\n\n if (isOnCreateRender(this._domRender_proxy)) {\n this._domRender_proxy.onCreateRender(...createParam);\n }\n\n // const innerHTML = (target as any).innerHTML ?? '';\n this._targets.add(target);\n const rawSets = RawSet.checkPointCreates(target, this._domRender_proxy, this._domRender_config);\n // console.log('initRender -------rawSet', rawSets)\n // \uC911\uC694 \uCD08\uAE30\uC5D0 \uD55C\uBC88 \uD295\uACA8\uC918\uC57C\uD568.\n this._domRender_config.eventManager.applyEvent(this._domRender_proxy, this._domRender_config.eventManager.findAttrElements(target as Element, this._domRender_config), this._domRender_config);\n rawSets.forEach(it => {\n const variables = it.getUsingTriggerVariables(this._domRender_config);\n if (variables.size <= 0) {\n this.addRawSet('', it);\n } else {\n variables.forEach(sit => {\n this.addRawSet(sit, it);\n });\n }\n });\n this.render(this.getRawSets()).then(it => {\n // const render = {target} as Render;\n // const creatorMetaData = {\n // creator: this._domRender_proxy,\n // rootCreator: this._domRender_proxy,\n // innerHTML\n // } as CreatorMetaData;\n const onInit = (target as any).getAttribute?.(RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME);\n let initParam: any;\n if (onCreate) {\n initParam = ScriptUtils.evaluateReturn(onCreate, this._domRender_proxy);\n // if (!Array.isArray(initParam)) {\n // initParam = [initParam];\n // }\n }\n if (isOnInitRender(this._domRender_proxy)) {\n this._domRender_proxy.onInitRender(initParam, rawSet ?? {dataSet: {config: this._domRender_config}} as any);\n }\n });\n\n }\n\n public getRawSets() {\n const set = new Set<RawSet>();\n this._rawSets.forEach((v, k) => {\n v.forEach(it => set.add(it));\n });\n return Array.from(set);\n }\n\n // \uC911\uC694 important\n public async render(raws?: RawSet[] | string, fullPathStr?: string) {\n if (typeof raws === 'string') {\n const iter = this._rawSets.get(raws);\n if (iter) {\n raws = Array.from(iter);\n } else {\n raws = undefined;\n }\n }\n const removeRawSets: RawSet[] = [];\n const rawSets = raws ?? this.getRawSets();\n\n // console.log('----', rawSets);\n for (const it of rawSets as RawSet[]) {\n it.getUsingTriggerVariables(this._domRender_config).forEach(path => {\n // console.log('getUsingTriggerVariables->', path);\n this.addRawSet(path, it);\n });\n if (it.isConnected) {\n // \uC911\uC694 render\uB420\uB54C targetAttribute \uCCB4\uD06C \uD574\uC57C\uD568.\n const targetAttrMap = (it.point.node as Element)?.getAttribute?.(EventManager.normalAttrMapAttrName);\n // console.log('sssssssssSSS?',it, targetAttrMap)\n // console.log('----2', it, fullPathStr, targetAttrMap, (it.fragment as any).render, it.isConnected, this.getRawSets());\n if (it.detect?.action) {\n it.detect.action();\n // } else if (it.type === RawSetType.TARGET_ELEMENT && it.data && fullPathStr && targetAttrMap && (it.fragment as any).render) {\n } else if (it.type === RawSetType.TARGET_ELEMENT && it.dataSet?.render?.currentThis && fullPathStr && targetAttrMap) {\n new Map<string, string>(JSON.parse(targetAttrMap)).forEach((v, k) => {\n // it?.data.onChangeAttrRender(k, null, v);\n const isUsing = EventManager.isUsingThisVar(v, `this.${fullPathStr}`);\n if (isUsing) {\n const targetAttrObject = RawSet.getAttributeObject((it.point.node as Element), { script: it.dataSet?.render?.renderScript ?? '', obj: Object.assign(this._domRender_proxy ?? {}, { __render: it.dataSet?.render }) });\n it.dataSet.render??={};\n it.dataSet.render.attribute = targetAttrObject;\n // const render = it.dataSet?.render;\n // console.log('render-->!!!!!', it.dataSet.render);\n // const script = `${render.renderScript} return ${v} `;\n // const cval = ScriptUtils.eval(script, Object.assign(this._domRender_proxy ?? {}, { __render: render }));\n if (isOnChangeAttrRender(it.dataSet?.render?.currentThis)) {\n it.dataSet?.render?.currentThis?.onChangeAttrRender?.(k, targetAttrObject[k], { rawSet: it });\n }\n }\n // console.log('---?', v, fullPathStr, isUsing);\n });\n // ------------------->\n } else {\n const rawSets = await it.render(this._domRender_proxy, this._domRender_config);\n // \uADF8\uC678 \uC790\uC2DD\uB4E4 render\n if (rawSets && rawSets.length > 0) {\n await this.render(rawSets);\n }\n }\n } else {\n removeRawSets.push(it);\n }\n }\n\n if (removeRawSets.length > 0) {\n this.removeRawSet(...removeRawSets);\n }\n return this.getRawSets();\n }\n\n // domrender_ref\uB85C \uCC3E\uB294\uAC78\uB85C \uBC14\uAFC8\n // public findRootDomRenderProxy(): DomRenderProxy<any> {\n // let current:DomRenderProxy<any> = this;\n // while (current.parentProxy) {\n // current = current.parentProxy;\n // }\n // return current;\n // }\n\n public root(pathInfos: {path: string, obj: any}[][], value?: any, lastDoneExecute = true): {path: string, obj:any}[][] {\n // console.log('root--->', paths, value, this._domRender_ref, this._domRender_origin);\n const fullPaths: {path: string, obj:any}[][] = [];\n if (this._domRender_ref.size > 0) {\n this._domRender_ref.forEach((it, key) => {\n if ('_DomRender_isProxy' in key) {\n it.forEach(sit => {\n try {\n\n const concat = pathInfos.concat([[{path: sit, obj: key}]]);\n const items:{path: string, obj:any}[][] = (key as any)._DomRender_proxy?.root(concat, value, lastDoneExecute);\n\n fullPaths.push(items.flat());\n // fullPaths.push({path: items.map(it=>it.path).join(','), obj: this._domRender_proxy});\n // fullPaths.push({path: items.map(it=>it.path).join(','), obj: this._domRender_proxy});\n } catch (e) {\n // \uC624\uBE0C\uC81D\uD2B8\uB4E4 \uC5C6\uC5B4\uC84C\uC744\uC218\uB3C4\uC788\uB2E4 Destroy\uC2DC\uC810\uC5D0\uC11C \uC624\uB958\uB098\uB294\uACBD\uC6B0\uAC00 \uC788\uB2E4. \uB530\uB77C\uC11C \uCC38\uC870 \uD558\uB294\uBD80\uBD84 \uC5C6\uC5B4\uC838\uC57C\uD55C\uB2E4.\n // console.error(e)\n // it.delete(sit);\n }\n });\n }\n });\n } else {\n // const firstPathStr = paths.slice(1).reverse().join('.');\n const strings = pathInfos.reverse().map(it=>it.map(it=>it.path).join(','));\n // array\uAC19\uC740\uACBD\uC6B0\uB3C4 \uD0A4\uAC12\uC73C\uB85C \uC811\uADFC\uD558\uAE30\uB54C\uBB38\uC5D0 \uD2B9\uC815 \uC778\uB371\uC2A4\uB97C \uCC3E\uC544\uC11C \uADF8\uBD80\uBD84\uB9CC \uBC14\uAFD4\uC904\uC218 \uC788\uB2E4.\n const fullPathStr = strings.map(it => isNaN(Number(it)) ? '.' + it : `[${it}]`).join('').slice(1);\n // console.log('-------fullPathStr', fullPathStr, lastDoneExecute);\n if (lastDoneExecute) {\n // const firstData = ScriptUtils.evalReturn('this.' + firstPathStr, this._domRender_proxy);\n // console.log('-------', firstPathStr, firstData);\n // if (firstData instanceof Dictionary) {\n // }\n const iterable = this._rawSets.get(fullPathStr);\n // array check\n const front = strings.slice(0, strings.length - 1).map(it => isNaN(Number(it)) ? '.' + it : `[${it}]`).join('');\n const lastPropertyName = strings[strings.length - 1];\n const path = 'this' + front;\n const data = ScriptUtils.evaluateReturn(ObjectUtils.Path.toOptionalChainPath(path), this._domRender_proxy);\n // console.log('root-->', this._rawSets, path, data );\n // console.log('--!!!!', fullPathStr, iterable, data, front, last);\n // \uC65C\uC5EC\uAE30\uC11C promise\uB97C \uD588\uC744\uAE4C\uB97C \uC0DD\uAC01\uD574\uBCF4\uBA74......\uD6D4.. \uBCC0\uC218\uBCC0\uACBD\uACFC \uD654\uBA74 \uBFCC\uB824\uC8FC\uB294\uAC78 \uB3D9\uAE30\uB85C\uD558\uBA74 \uC131\uB2A5\uC774 \uC548\uB098\uC624\uACE0 \uBE44\uD604\uC2E4\uC801\uC774\uB2E4. \uADF8\uB798\uC11C promise\n new Promise<RawSet[]>(async resolve => {\n let rData: RawSet[] = [];\n const firstPathStr = front.slice(1);\n\n // check dictionary\n // console.log('-promise-------', firstPathStr, this)\n const firstTargets = this._rawSets.get(firstPathStr);\n const firstTargetDictionary: RawSet[] = [];\n firstTargets?.forEach(it => {\n // console.log('----forEach---', it);\n const type = (it.point.start as Element).getAttribute?.('type');\n if (type === RawSetOperatorType.DR_THIS_PROPERTY) {\n firstTargetDictionary.push(it);\n }\n });\n if (firstTargetDictionary.length > 0) {\n // console.log('ddddddddddd', firstTargetDictionary);\n const rawSets: RawSet[] = [];\n let skip = false;\n firstTargetDictionary.forEach(it => {\n const startElement = it.point.start as Element;\n const keys = startElement.getAttribute(RawSet.DR_HAS_KEYS_OPTIONNAME)?.split(',') ?? [];\n if (value === undefined) {\n const rawSet = it.getHasRawSet(lastPropertyName);\n rawSet?.remove();\n startElement.setAttribute(RawSet.DR_HAS_KEYS_OPTIONNAME, keys.filter(it => it !== lastPropertyName).join(','));\n }\n if (!keys.includes(lastPropertyName)) {\n const raws = DrThisProperty.append(this._domRender_proxy, fullPathStr, lastPropertyName, it, this._domRender_config);\n if (raws) {\n rawSets.push(...raws);\n }\n } else {\n skip = true;\n }\n });\n if (skip === false || rawSets.length > 0) {\n rData = await this.render(rawSets);\n }\n }\n\n if (lastPropertyName === 'length' && Array.isArray(data)) {\n const aIterable = this._rawSets.get(firstPathStr);\n if (aIterable) {\n rData = await this.render(Array.from(aIterable));\n }\n } else if (iterable) {\n // console.log('------------',iterable, fullPaths)\n rData = await this.render(Array.from(iterable), fullPathStr);\n }\n\n\n\n // console.log('-----------', this, lastPropertyName );\n // this._targets.forEach(it => {\n // // return;\n // if (it.nodeType === Node.DOCUMENT_FRAGMENT_NODE || it.nodeType === Node.ELEMENT_NODE) {\n // const targets = eventManager.findAttrElements((it as DocumentFragment | Element), this.config);\n // eventManager.changeVar(this._domRender_proxy, targets, `this.${fullPathStr}`, this.config);\n // }\n // });\n\n\n this._targets.forEach(it => {\n // return;\n if (it.nodeType === Node.DOCUMENT_FRAGMENT_NODE || it.nodeType === Node.ELEMENT_NODE) {\n const targets = this._domRender_config.eventManager.findAttrElements((it as DocumentFragment | Element), this._domRender_config);\n this._domRender_config.eventManager.changeVar(this._domRender_proxy, targets, `this.${fullPathStr}`, this._domRender_config);\n }\n });\n\n //\uB79C\uB354\uB300\uC0C1\uB41C\uAC8C\uC788\uC73C\uBA74\n if(rData?.length > 0 && isOnChildRenderedByProperty(data)) {\n const propertyValue = ScriptUtils.evaluateReturn(`this.${lastPropertyName}`, data)\n data.onChildRenderedByProperty(lastPropertyName, propertyValue);\n // data\n }\n resolve(rData);\n }).then(it => {\n // console.log('DonrenderProxy root RenderDone')\n });\n }\n fullPaths.push([{path:fullPathStr, obj: this._domRender_proxy}]);\n }\n\n // console.log('dddddd', fullPaths.flatMap(it=>it).map(it=>it.path))\n return fullPaths;\n }\n\n public set(target: T, p: string | symbol, value: any, receiver: T): boolean {\n // console.log('set------->', target, p, value, receiver, Date.now())\n // console.log('set------->', target, p, value, receiver, Date.now())\n // try {\n // const isNoProxy = Reflect.getMetadata(DomRenderNoProxyKey, target, p) || Reflect.getMetadata(DomRenderNoProxyKey, Object.getPrototypeOf(obj).constructor);\n // if (isNoProxy) {\n // return obj;\n // }\n // }catch (e) {}\n\n // console.log('set-->', p, value, target, receiver, Reflect.getMetadata(DomRenderNoProxyKey, target, p) );\n\n if (\n (typeof p === 'string' && p !== '__domrender_components' && excludeGetSetPropertys.includes(p)) ||\n Reflect.getMetadata(DomRenderNoProxyKey, target, p)\n ) {\n (target as any)[p] = value;\n return true;\n }\n // const old = (target as any)[p];\n // console.log('set proxy-->', target, p, value, this._rawSets, this._domRender_ref);\n // if (typeof p === 'string' && '__render' === p) {\n // (target as any)[p] = value;\n // return true;\n // }\n // console.log('set--?', p, target, value);\n\n if (typeof p === 'string') {\n value = this.proxy(receiver, value, p);\n }\n\n // console.log('set typeChecked', (target as any)[p] instanceof ComponentSet, value instanceof ComponentSet);\n // if ((target as any)[p] instanceof ComponentSet) {\n // (target as any)[p]?.obj?.onDrThisUnBind?.();\n // }\n // is ComponentSet\n if ((value instanceof ComponentSet) && ((target as any)[p] instanceof ComponentSet)) {\n value.config.beforeComponentSet = (target as any)[p];\n }\n (target as any)[p] = value;\n let fullPathInfo: {path: string, obj:any}[][] = [];\n if (typeof p === 'string') {\n fullPathInfo = this.root([[{path:p, obj: this._domRender_proxy}]], value)\n }\n\n // console.log('setRooot', fullPathInfo);\n\n\n //normal attribute \uB610\uD55C \uB9C1\uD06C\uB791 \uAC19\uC740 \uC99D\uC138\uB77C\uC11C \uC774\uB807\uAC8C \uD574\uC918\uC57C\uD55C\uB2E4!!\n // const rootDomRenderProxy = this.findRootDomRenderProxy();\n // console.log('set!!!!!!!', fullPathInfo, rootDomRenderProxy)\n // console.log('--------rootDom',fullPathInfo, rootDomRenderProxy, rootDomRenderProxy._domRender_proxy)\n const rootElement = this._domRender_config.rootElement ?? this._domRender_config.window.document;\n DocumentUtils.querySelectorAllByAttributeName(rootElement, EventManager.normalAttrMapAttrName)?.forEach(elementInfo => {\n // @ts-ignore\n // const optionalPath = ObjectUtils.Path.toOptionalChainPath(elementInfo.value);\n const targets = new Map<string,string>(ScriptUtils.evaluateReturn<[string, string][]>(elementInfo.value));\n Array.from(targets.entries()).filter(([key, value])=>value.trim()).filter(isDefined).flatMap(([key,valueScript])=> {\n return fullPathInfo.flat().filter(it => valueScript.includes(`this.${it.path}`)).flatMap(it=> ({key, valueScript: valueScript, pathInfo: it}));\n }).forEach(it=> {\n const optionalPath = ObjectUtils.Path.toOptionalChainPath(it.valueScript);\n const value1 = ScriptUtils.evaluateReturn(optionalPath, it.pathInfo.obj);\n // console.log('proxy set!Attribut======', it.key, value1)\n if (value1 === null) {\n elementInfo.element.removeAttribute(it.key);\n elementInfo.element[it.key] = null;\n } else {\n elementInfo.element.setAttribute(it.key, value1);\n elementInfo.element[it.key] = value1\n }\n })\n })\n\n //\uC5EC\uAE30\uC11C \uB9C1\uD06C \uAC19\uC740\uAC70 \uD574\uC918\uC57C\uD568 *-link\uB85C \uBCC0\uC218\uAC12\uC774 \uBCC0\uACBD\uB418\uBA74 \uADF8\uAC78 \uCC38\uACE0\uD558\uACE0\uC788\uB294 \uB2E4\uB978\uAC83\uB4E4\uC5D0\uB3C4 \uD574\uC918\uC57C\uD55C\uB2E4.\n DocumentUtils.querySelectorAllByAttributeName(rootElement, EventManager.linkTargetMapAttrName)?.forEach(elementInfo => {\n // @ts-ignore\n const targets = new Map<string,string>(ScriptUtils.evaluateReturn<[string, string][]>(elementInfo.value));\n\n Array.from(targets.entries()).filter(([key, value])=>value.trim()).filter(isDefined).flatMap(([key,valueScript])=> {\n return fullPathInfo.flat().filter(it => valueScript.includes(`this.${it.path}`)).flatMap(it=> ({key, valueScript: valueScript, pathInfo: it}));\n }).forEach(info=> {\n const value1 = ScriptUtils.evaluateReturn(info.valueScript, info.pathInfo.obj);\n const applyAttributeName = EventManager.linkAttrs.find(it => it.name === info.key);\n if (applyAttributeName) {\n if (value1 === null) {\n elementInfo.element.removeAttribute(applyAttributeName.property);\n } else {\n // console.log('ppppppppppppppppppppppp', applyAttributeName, elementInfo)\n elementInfo.element.setAttribute(applyAttributeName.property, value1);\n }\n }\n })\n\n Array.from(targets.entries()).filter(([key, value])=>value.trim()).filter(isDefined).flatMap(([key,valueScript])=> {\n return fullPathInfo.flat().filter(it => valueScript.includes(`this.${it.path}`)).flatMap(it=> ({key, valueScript: valueScript, pathInfo: it}));\n }).forEach(info=> {\n const linkInfo = EventManager.linkAttrs.find(it=>it.name === info.key)\n if (linkInfo) {\n elementInfo.element[linkInfo.property] = value\n }\n })\n })\n if (('onBeforeReturnSet' in receiver) && typeof p === 'string' && !(this._domRender_config.proxyExcludeOnBeforeReturnSets ?? []).concat(excludeGetSetPropertys).includes(p)) {\n if(isOnBeforeReturnSet(receiver)){\n receiver.onBeforeReturnSet?.(p, value, fullPathInfo.map(it => it.map(it=>it.path).join()));\n }\n }\n return true;\n }\n\n get(target: T, p: string | symbol, receiver: any): any {\n // console.log('get-->', target, p, receiver);\n if (p === '_DomRender_origin' || p === '_domRender_origin') {\n return this._domRender_origin;\n } else if (p === '_DomRender_ref' || p === '_domRender_ref') {\n return this._domRender_ref;\n } else if (p === '_DomRender_config' || p ==='_domRender_config') {\n return this._domRender_config;\n } else if (p === '_DomRender_proxy' || p ==='_domRender_proxy') {\n return this;\n } else {\n // Date\uB77C\uB358\uC9C0 \uC774\uB7F0\uB188\uB4E4\uC740-_-\uD504\uB85D\uC2DC\uAC00 \uC774\uC0C1\uD558\uAC8C \uB3D9\uC791\uD574\uC11C\n // console.log('--->', p, target, target.bind, 'bind' in target)\n // if ((p in target) && ('bind' in target)) {\n // try{\n // return (target as any)[p].bind(target);\n // }catch (e) {\n // console.error(e)\n // }\n // } else {\n // return (target as any)[p]\n // }\n // return (p in target) ? (target as any)[p].bind(target) : (target as any)[p]\n // console.log('-->', p, Object.prototype.toString.call((target as any)[p]), (target as any)[p])\n // return (target as any)[p]\n let it = (target as any)[p];\n if (it && typeof it === 'object' && ('_DomRender_isProxy' in it) && Object.prototype.toString.call(it._DomRender_origin) === '[object Date]') {\n it = it._DomRender_origin;\n }\n\n if (('onBeforeReturnGet' in receiver) && typeof p === 'string' && !(this._domRender_config.proxyExcludeOnBeforeReturnGets ?? []).concat(excludeGetSetPropertys).includes(p)) {\n (receiver as any)?.onBeforeReturnGet?.(p, it, this.root([[{path:p, obj: this._domRender_proxy}]], it, false));\n }\n return it;\n }\n }\n\n deleteProperty(target: T, p: string | symbol): boolean {\n delete (target as any)[p];\n if (typeof p === 'string') {\n this.root([[{path:p, obj: this._domRender_proxy}]]);\n }\n return true;\n }\n\n has(target: T, p: string | symbol): boolean {\n return p === '_DomRender_isProxy' || p in target;\n }\n\n proxy(parentProxy: T, obj: T | any, p: string) {\n\n\n try {\n // const isNoProxy = Reflect.getMetadata(DomRenderNoProxyKey, obj, p) || Reflect.getMetadata(DomRenderNoProxyKey, Object.getPrototypeOf(obj).constructor);\n const isObject = typeof obj === 'object';\n const isNoProxy = isObject && isDomRenderNoProxy(obj,p)\n const isExclude = (this._domRender_config.proxyExcludeTyps?.some(it => obj instanceof it)) ?? false;\n const isFinal = isObject && DomRenderProxy.isFinal(obj);\n const isFrozen = Object.isFrozen(obj);\n const isShield = obj instanceof Shield;\n if (isNoProxy || isExclude || ValidUtils.isNullOrUndefined(obj) || !isObject || isFinal || isFrozen || isShield) {\n return obj;\n }\n } catch (e) {\n }\n\n\n/*\n const proxyTarget = (this._domRender_config.proxyExcludeTyps?.filter(it => obj instanceof it) ?? []).length <= 0;\n if (proxyTarget && obj !== undefined && obj !== null && typeof obj === 'object' && !('_DomRender_isProxy' in obj) && !DomRenderProxy.isFinal(obj) && !Object.isFrozen(obj) && !(obj instanceof Shield)) {\n const domRender = new DomRenderProxy(obj, undefined, this._domRender_config);\n domRender.addRef(parentProxy, p);\n const proxy = new Proxy(obj, domRender);\n domRender.run(proxy);\n return proxy;\n }\n if (proxyTarget && obj !== undefined && obj !== null && typeof obj === 'object' && ('_DomRender_isProxy' in obj) && !DomRenderProxy.isFinal(obj) && !Object.isFrozen(obj) && !(obj instanceof Shield)) {\n const d = (obj as any)._DomRender_proxy as DomRenderProxy<T>;\n d.addRef(this._domRender_proxy!, p);\n return obj;\n } else {\n return obj;\n }\n */\n if ( !isWrapProxyDomRenderProxy(obj)) {\n const domRender = new DomRenderProxy(obj, undefined, this._domRender_config);\n domRender.addRef(parentProxy, p);\n const proxy = new Proxy(obj, domRender);\n domRender.run(proxy);\n return proxy;\n }\n if (isWrapProxyDomRenderProxy(obj)) {\n const d = (obj as any)._DomRender_proxy as DomRenderProxy<T>;\n d.addRef(this._domRender_proxy!, p);\n return obj;\n } else {\n return obj;\n }\n }\n\n public addRef(parent: object, path: string) {\n if (!this._domRender_ref.get(parent)) {\n this._domRender_ref.set(parent, new Set<string>());\n }\n this._domRender_ref.get(parent)?.add(path);\n }\n\n public addRawSetAndRender(path: string, rawSet: RawSet) {\n this.addRawSet(path, rawSet);\n this.render([rawSet]);\n }\n\n public addRawSet(path: string, rawSet: RawSet) {\n // console.log('addRawSet--> path:', path, 'rawSet:', rawSet)\n if (!this._rawSets.get(path)) {\n this._rawSets.set(path, new Set<RawSet>());\n }\n this._rawSets.get(path)?.add(rawSet);\n }\n\n // public removeRawSet(...raws: RawSet[]) {\n // this._rawSets.forEach(it => {\n // raws.forEach(sit => it.delete(sit));\n // })\n // this.garbageRawSet();\n // }\n\n public removeRawSet(...raws: RawSet[]) {\n this._rawSets.forEach(it => {\n it.forEach(sit => {\n if (!sit.isConnected) {\n it.delete(sit);\n } else if (raws.includes(sit)) {\n it.delete(sit);\n }\n });\n });\n this.targetGarbageRawSet();\n }\n\n private targetGarbageRawSet() {\n this._targets.forEach(it => {\n if (!it.isConnected) {\n this._targets.delete(it);\n }\n });\n }\n\n private garbageRawSet() {\n this._targets.forEach(it => {\n if (!it.isConnected) {\n this._targets.delete(it);\n }\n });\n\n this._rawSets.forEach(it => {\n it.forEach(sit => {\n if (!sit.isConnected) {\n it.delete(sit);\n }\n });\n });\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["it", "rawSets", "value"]
7
7
  }
@@ -0,0 +1,17 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+ var ComponentBase_d_exports = {};
15
+ module.exports = __toCommonJS(ComponentBase_d_exports);
16
+ var import_reflect_metadata = require("reflect-metadata");
17
+ //# sourceMappingURL=ComponentBase.d.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/ComponentBase.ts"],
4
+ "sourcesContent": ["import { ElementUtils } from '@dooboostore/core-web/element/ElementUtils';\nimport { OnChangeAttrRender, OtherData } from '../lifecycle/OnChangeAttrRender';\nimport { OnCreateRenderData, OnCreateRenderDataParams } from '../lifecycle/OnCreateRenderData';\nimport { RawSet } from '../rawsets/RawSet';\nimport { ConstructorType } from '@dooboostore/core/types';\nimport { OnCreatedThisChild } from '../lifecycle/OnCreatedThisChild';\nimport { DomRenderNoProxy } from '../decorators/DomRenderNoProxy';\nimport { OnInitRender } from '../lifecycle/OnInitRender';\nimport { ConvertUtils } from '@dooboostore/core/convert/ConvertUtils';\nimport { OnDestroyRender, OnDestroyRenderParams } from '../lifecycle/OnDestroyRender';\nimport { OnDrThisUnBind } from '../lifecycle/dr-this/OnDrThisUnBind';\nimport { OnDrThisBind } from '../lifecycle/dr-this/OnDrThisBind';\nimport type { Render } from '../rawsets/Render';\nimport { ReflectUtils } from '@dooboostore/core/reflect/ReflectUtils';\nimport { DomRenderConfig } from '../configs/DomRenderConfig';\nimport { Subject } from '@dooboostore/core/message/Subject';\nimport { debounceTime } from '@dooboostore/core/message/operators/debounceTime';\nimport type { Subscription } from '@dooboostore/core/message/Subscription';\n\n\nexport const ATTRIBUTE_METADATA_KEY = Symbol('attribute');\nexport const QUERY_METADATA_KEY = Symbol('query');\nexport const EVENT_METADATA_KEY = Symbol('event');\n\nexport interface AttributeMetadata {\n propertyKey: string | symbol;\n name: string;\n converter?: (value: any | string | null) => any;\n isMethod: boolean;\n}\n\nexport interface QueryMetadata {\n selector: string;\n propertyKey: string | symbol;\n isMethod: boolean;\n convert?: (e: Element) => any;\n onDestroy?: (componentInstance: any, element: Element) => void;\n refreshTime?: number; // milliseconds\n}\n\nexport interface EventMetadata {\n query: string;\n eventName: string;\n methodName: string | symbol;\n onDestroy?: (componentInstance: any, element: Element) => void;\n refreshTime?: number; // milliseconds\n}\n\nexport function attribute(nameOrOptions?: string | { name?: string, converter?: (value: any | string | null) => any }): (target: object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => void {\n return (target: object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => {\n const attributes = ReflectUtils.getMetadata<AttributeMetadata[]>(ATTRIBUTE_METADATA_KEY, target.constructor) || [];\n \n let name: string;\n let converter: ((value: any | string | null) => any) | undefined;\n \n if (typeof nameOrOptions === 'string') {\n name = nameOrOptions;\n } else if (nameOrOptions) {\n name = nameOrOptions.name || String(propertyKey);\n converter = nameOrOptions.converter;\n } else {\n name = String(propertyKey);\n }\n \n const attributeMetadata: AttributeMetadata = {\n propertyKey: propertyKey,\n name: name,\n converter: converter,\n isMethod: !!descriptor\n };\n \n attributes.push(attributeMetadata);\n ReflectUtils.defineMetadata(ATTRIBUTE_METADATA_KEY, attributes, target.constructor);\n };\n}\n\nexport function query(selectorOrOptions: string | { selector: string, convert?: (e: Element) => any, onDestroy?: (componentInstance: any, element: Element) => void, refreshIntervalTime?: number }): (target: object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => void {\n return (target: object, propertyKey: string | symbol, descriptor?: PropertyDescriptor) => {\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, target.constructor) || [];\n \n let selector: string;\n let convert: ((e: Element) => any) | undefined;\n let onDestroy: ((componentInstance: any, element: Element) => void) | undefined;\n let refreshTime: number | undefined;\n \n if (typeof selectorOrOptions === 'string') {\n selector = selectorOrOptions;\n } else {\n selector = selectorOrOptions.selector;\n convert = selectorOrOptions.convert;\n onDestroy = selectorOrOptions.onDestroy;\n refreshTime = selectorOrOptions.refreshIntervalTime;\n }\n \n const queryMetadata: QueryMetadata = {\n selector: selector,\n propertyKey: propertyKey,\n isMethod: !!descriptor,\n convert: convert,\n onDestroy: onDestroy,\n refreshTime: refreshTime\n };\n \n queries.push(queryMetadata);\n ReflectUtils.defineMetadata(QUERY_METADATA_KEY, queries, target.constructor);\n };\n}\n\nexport function event(options: { query: string, name: string, onDestroy?: (componentInstance: any, element: Element) => void, refreshTime?: number }): MethodDecorator {\n return (target: object, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, target.constructor) || [];\n \n const eventMetadata: EventMetadata = {\n query: options.query,\n eventName: options.name,\n methodName: propertyKey,\n onDestroy: options.onDestroy,\n refreshTime: options.refreshTime\n };\n \n events.push(eventMetadata);\n ReflectUtils.defineMetadata(EVENT_METADATA_KEY, events, target.constructor);\n };\n}\n\n\nexport type ComponentBaseConfig = { onlyParentType?: ConstructorType<any>[] | ConstructorType<any>, createChildrenDebounce?: number };\n\nexport type ChildrenSet = { instance: any, data: OnCreateRenderDataParams };\n\nexport class ComponentBase<T = any, C extends ComponentBaseConfig = ComponentBaseConfig> implements OnChangeAttrRender, OnCreateRenderData, OnCreatedThisChild, OnDrThisBind, OnDrThisUnBind, OnInitRender, OnDestroyRender {\n @DomRenderNoProxy\n private _rawSet?: RawSet;\n @DomRenderNoProxy\n private _children: ChildrenSet[] = [];\n @DomRenderNoProxy\n private _render: Render | undefined;\n @DomRenderNoProxy\n private _attribute?: T;\n @DomRenderNoProxy\n private _boundEventListeners: { element: Element, eventName: string, listener: (e: Event) => void }[] = [];\n @DomRenderNoProxy\n private _queryBindings: { element: Element, metadata: QueryMetadata }[] = [];\n @DomRenderNoProxy\n private _eventBindings: { element: Element, metadata: EventMetadata, listener: (e: Event) => void }[] = [];\n @DomRenderNoProxy\n private _refreshTimers: Map<QueryMetadata | EventMetadata, NodeJS.Timeout> = new Map();\n\n @DomRenderNoProxy\n private childrenSetSubject = new Subject<ChildrenSet[]>();\n @DomRenderNoProxy\n private createChildrenDebounceSubscription?: Subscription | undefined;\n\n constructor(private _config?: C) {\n }\n get componentConfig(): C | undefined {\n return this._config;\n }\n get render(): Render | undefined {\n return this._render;\n }\n\n get rawSet(): RawSet | undefined {\n return this._rawSet;\n }\n\n get domRenderConfig(): DomRenderConfig | undefined {\n return this.rawSet?.dataSet.config;\n }\n\n private _queryElements(selector: string, rawSet:RawSet): Element[] {\n const e = this.getElement();\n // console.log('queryElement-->', e);\n if (e) {\n return ElementUtils.querySelectorAll(e, selector);\n } else {\n let startNode = rawSet.point?.start;\n let endNode = rawSet.point?.end;\n // console.log('-----', startNode, endNode)\n // console.log('-----', startNode?.isConnected, endNode?.isConnected)\n if (rawSet.point?.start && startNode && !startNode.isConnected && startNode instanceof HTMLElement && startNode.hasAttribute('id')) {\n rawSet.point.start = startNode = rawSet.dataSet.config.window.document.querySelector('#' + startNode.id) as HTMLMetaElement\n }\n if (rawSet.point?.end && endNode && !endNode.isConnected && endNode instanceof HTMLElement && endNode.hasAttribute('id')) {\n rawSet.point.end = endNode = rawSet.dataSet.config.window.document.querySelector('#' + endNode.id) as HTMLMetaElement\n }\n if (startNode && endNode) {\n // console.log('query!!', startNode, endNode);\n return ElementUtils.querySelectorAll({ start: startNode as Element, end: endNode as Element }, selector);\n }\n }\n return [];\n }\n\n private _cleanupEventListeners() {\n for (const { element, eventName, listener } of this._boundEventListeners) {\n element.removeEventListener(eventName, listener);\n }\n this._boundEventListeners = [];\n }\n\n private _cleanupQueryBindings() {\n for (const { element, metadata } of this._queryBindings) {\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n this._clearRefreshTimer(metadata);\n }\n this._queryBindings = [];\n }\n\n private _cleanupEventBindings() {\n for (const { element, metadata, listener } of this._eventBindings) {\n element.removeEventListener(metadata.eventName, listener);\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n this._clearRefreshTimer(metadata);\n }\n this._eventBindings = [];\n }\n\n private _applyQueryBinding(queryInfo: QueryMetadata, elements: Element[], newElementsOnly: Element[] = elements) {\n const { propertyKey, isMethod, convert } = queryInfo;\n \n // Track bindings for cleanup\n elements.forEach(element => {\n this._queryBindings.push({ element, metadata: queryInfo });\n });\n \n // Apply convert function if provided\n const processedElements = convert ? elements.map(convert) : elements;\n const processedNewElements = convert ? newElementsOnly.map(convert) : newElementsOnly;\n \n if (isMethod) {\n const method = (this as any)[propertyKey];\n if (typeof method === 'function') {\n const paramTypes = ReflectUtils.getParameterTypes(this, propertyKey);\n if (paramTypes && paramTypes.length > 0 && paramTypes[0] === Array) {\n // For array methods, pass only new elements\n method.call(this, processedNewElements, processedElements);\n } else {\n // For single element methods, pass first new element\n if (processedNewElements.length > 0) {\n method.call(this, processedNewElements[0]);\n }\n }\n }\n } else {\n // For properties, always set all elements (not just new ones)\n const propertyType = ReflectUtils.getType(this, propertyKey);\n if (propertyType === Array) {\n (this as any)[propertyKey] = processedElements;\n } else {\n (this as any)[propertyKey] = processedElements[0] || null;\n }\n }\n }\n\n private _setupQueryDecorators(rawSet: RawSet) {\n if (!rawSet) return;\n\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, this.constructor);\n // console.group('_setupQueryDecorators')\n // console.log('queries', queries);\n if (queries && Array.isArray(queries)) {\n for (const queryInfo of queries) {\n const elements = this._queryElements(queryInfo.selector, rawSet);\n // console.log('------elements', elements);\n this._applyQueryBinding(queryInfo, elements);\n \n // Setup refresh timer if specified\n this._setupRefreshTimer(queryInfo);\n }\n }\n // console.groupEnd();\n }\n\n private _updateQueryBinding(queryInfo: QueryMetadata, rawSet: RawSet, forceUpdate = false) {\n const newElements = this._queryElements(queryInfo.selector, rawSet);\n \n // Get current bindings for this query\n const currentBindings = this._queryBindings.filter(binding => binding.metadata === queryInfo);\n const currentElements = currentBindings.map(binding => binding.element);\n \n // Check if elements have changed\n const elementsChanged = forceUpdate || !this._arraysEqual(currentElements, newElements);\n \n if (elementsChanged) {\n let addedElements: Element[] = [];\n \n if (forceUpdate) {\n // Force update: cleanup all old bindings, treat all as new\n currentBindings.forEach(({ element, metadata }) => {\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n });\n addedElements = newElements;\n } else {\n // Smart update: only cleanup removed elements, find added elements\n const removedElements = currentElements.filter(element => !newElements.includes(element));\n addedElements = newElements.filter(element => !currentElements.includes(element));\n \n removedElements.forEach(element => {\n if (queryInfo.onDestroy) {\n queryInfo.onDestroy(this, element);\n }\n });\n }\n \n // Remove old bindings\n this._queryBindings = this._queryBindings.filter(binding => binding.metadata !== queryInfo);\n \n // Apply new bindings, but pass only added elements to methods\n this._applyQueryBinding(queryInfo, newElements, addedElements);\n }\n }\n\n private _updateQueryDecorators(rawSet: RawSet) {\n if (!rawSet) return;\n\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, this.constructor);\n if (queries && Array.isArray(queries)) {\n for (const queryInfo of queries) {\n this._updateQueryBinding(queryInfo, rawSet);\n }\n }\n }\n\n private _arraysEqual(arr1: Element[], arr2: Element[]): boolean {\n if (arr1.length !== arr2.length) return false;\n return arr1.every((element, index) => element === arr2[index]);\n }\n\n private _setupRefreshTimer(metadata: QueryMetadata | EventMetadata) {\n if (!metadata.refreshTime || !this._rawSet) return;\n\n const timer = setInterval(() => {\n if (!this._rawSet) return;\n\n if ('selector' in metadata) {\n // QueryMetadata\n this._updateQueryBinding(metadata as QueryMetadata, this._rawSet);\n } else {\n // EventMetadata\n this._updateEventBinding(metadata as EventMetadata, this._rawSet);\n }\n }, metadata.refreshTime);\n\n this._refreshTimers.set(metadata, timer);\n }\n\n private _clearRefreshTimer(metadata: QueryMetadata | EventMetadata) {\n const timer = this._refreshTimers.get(metadata);\n if (timer) {\n clearInterval(timer);\n this._refreshTimers.delete(metadata);\n }\n }\n\n private _clearAllRefreshTimers() {\n for (const timer of Array.from(this._refreshTimers.values())) {\n clearInterval(timer);\n }\n this._refreshTimers.clear();\n }\n\n /**\n * Manually refresh all query and event decorators\n * Useful when DOM elements are dynamically added/removed and you want to update bindings\n */\n refreshDecorators(): void {\n if (this._rawSet) {\n this._updateQueryDecorators(this._rawSet);\n this._updateEventDecorators(this._rawSet);\n }\n }\n\n /**\n * Manually refresh specific query decorators by property key\n * @param propertyKeys - Array of property keys to refresh, or single property key\n */\n refreshQueryDecorators(propertyKeys: (string | symbol) | (string | symbol)[]): void {\n if (!this._rawSet) return;\n\n const keys = Array.isArray(propertyKeys) ? propertyKeys : [propertyKeys];\n const queries = ReflectUtils.getMetadata<QueryMetadata[]>(QUERY_METADATA_KEY, this.constructor);\n \n if (queries && Array.isArray(queries)) {\n for (const queryInfo of queries) {\n if (keys.includes(queryInfo.propertyKey)) {\n this._updateQueryBinding(queryInfo, this._rawSet, true); // Force update\n }\n }\n }\n }\n\n /**\n * Manually refresh specific event decorators by method name\n * @param methodNames - Array of method names to refresh, or single method name\n */\n refreshEventDecorators(methodNames: (string | symbol) | (string | symbol)[]): void {\n if (!this._rawSet) return;\n\n const names = Array.isArray(methodNames) ? methodNames : [methodNames];\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, this.constructor);\n \n if (events && Array.isArray(events)) {\n for (const eventInfo of events) {\n if (names.includes(eventInfo.methodName)) {\n this._updateEventBinding(eventInfo, this._rawSet, true); // Force update\n }\n }\n }\n }\n\n private _applyEventBinding(eventInfo: EventMetadata, elements: Element[]) {\n elements.forEach(element => {\n const listener = (this as any)[eventInfo.methodName].bind(this);\n // console.log('bind?????', element);\n element.addEventListener(eventInfo.eventName, listener);\n \n // Track bindings for cleanup\n this._eventBindings.push({ element, metadata: eventInfo, listener });\n this._boundEventListeners.push({ element, eventName: eventInfo.eventName, listener });\n });\n }\n\n private _setupEventDecorators(rawSet: RawSet) {\n if (!rawSet) return;\n\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, this.constructor);\n if (events && Array.isArray(events)) {\n for (const eventInfo of events) {\n const elements = this._queryElements(eventInfo.query, rawSet);\n this._applyEventBinding(eventInfo, elements);\n \n // Setup refresh timer if specified\n this._setupRefreshTimer(eventInfo);\n }\n }\n }\n\n private _updateEventBinding(eventInfo: EventMetadata, rawSet: RawSet, forceUpdate = false) {\n const newElements = this._queryElements(eventInfo.query, rawSet);\n \n // Get current bindings for this event\n const currentBindings = this._eventBindings.filter(binding => binding.metadata === eventInfo);\n const currentElements = currentBindings.map(binding => binding.element);\n \n // Check if elements have changed\n const elementsChanged = forceUpdate || !this._arraysEqual(currentElements, newElements);\n \n if (elementsChanged) {\n if (forceUpdate) {\n // Force update: cleanup all old bindings\n currentBindings.forEach(({ element, metadata, listener }) => {\n element.removeEventListener(metadata.eventName, listener);\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n });\n } else {\n // Smart update: only cleanup removed elements\n const removedElements = currentElements.filter(element => !newElements.includes(element));\n const removedBindings = currentBindings.filter(binding => removedElements.includes(binding.element));\n \n removedBindings.forEach(({ element, metadata, listener }) => {\n element.removeEventListener(metadata.eventName, listener);\n if (metadata.onDestroy) {\n metadata.onDestroy(this, element);\n }\n });\n }\n \n // Remove old bindings from tracking arrays\n this._eventBindings = this._eventBindings.filter(binding => binding.metadata !== eventInfo);\n this._boundEventListeners = this._boundEventListeners.filter(binding => \n !currentBindings.some(cb => cb.element === binding.element && cb.metadata.eventName === binding.eventName)\n );\n \n // Apply new bindings\n this._applyEventBinding(eventInfo, newElements);\n }\n }\n\n private _updateEventDecorators(rawSet: RawSet) {\n if (!rawSet) return;\n\n const events = ReflectUtils.getMetadata<EventMetadata[]>(EVENT_METADATA_KEY, this.constructor);\n if (events && Array.isArray(events)) {\n for (const eventInfo of events) {\n this._updateEventBinding(eventInfo, rawSet);\n }\n }\n }\n\n getAttribute<K extends keyof T>(name: K, attribute = this._attribute): T[K] | null {\n const target = attribute as any;\n if (!target) {\n return null;\n }\n\n const nameString = String(name);\n let p = nameString;\n if (p in target) {\n return target[p];\n }\n p = ConvertUtils.snakeToCamelCase(nameString);\n if (p in target) {\n return target[p];\n }\n p = ConvertUtils.camelToSnakeCase(nameString);\n if (p in target) {\n return target[p];\n }\n p = nameString.toUpperCase()\n if (p in target) {\n return target[p];\n }\n p = nameString.toLowerCase()\n if (p in target) {\n return target[p];\n }\n return null;\n }\n\n hasAttribute(name: keyof T) {\n return this.getAttribute(name) !==null;\n }\n\n equalsAttributeName(n: string, name: keyof T) {\n return n === name ||\n ConvertUtils.snakeToCamelCase(n) === name ||\n ConvertUtils.camelToSnakeCase(n) === name ||\n n.toUpperCase() === (name as string).toUpperCase() ||\n n.toLowerCase() === (name as string).toLowerCase()\n ;\n }\n\n get uuid(): string | undefined {\n return this._rawSet?.uuid;\n }\n\n get childrenSet() {\n return this._children;\n }\n\n get children(): any[] {\n return this._children.map(it=>it.instance);\n }\n\n getElement<T extends Element>(): T | undefined {\n return (this.render ?? this.rawSet?.dataSet?.render)?.getElement?.();\n }\n\n getFirstChild<T>(type: ConstructorType<T>): T | undefined {\n return this._children.find(it => it instanceof type)?.instance;\n }\n\n getParentThis<P>():P {\n return this.render?.parentThis as P;\n }\n\n getChildren<C extends ConstructorType<any>>(type: C): InstanceType<C>[];\n getChildren<C extends ConstructorType<any>[]>(types: C): InstanceType<C[number]>[];\n getChildren(typeOrTypes: ConstructorType<any> | ConstructorType<any>[]): any[] {\n const targets = Array.isArray(typeOrTypes) ? typeOrTypes : [typeOrTypes];\n return this._children.filter(childSet =>\n targets.some(targetConstructor => childSet.instance instanceof targetConstructor)\n )?.map(it=>it.instance);\n }\n\n\n\n private setRawSet(rawSet: RawSet) {\n this._rawSet = rawSet;\n if (this._rawSet) {\n this.setAttribute(this._rawSet.dataSet?.render?.attribute as T);\n }\n }\n\n setAttribute(attribute: T) {\n this._attribute = attribute;\n }\n\n // TODO: rawSet isConnected\uB85C \uCCB4\uD06C\uD574\uC11C \uB4E4\uC5B4\uAC00\uC788\uB294\uAC83\uB9CC \uCC98\uB9AC\uB418\uB3C4\uB85D \uB610\uB294 \uC774\uBBF8\uB4E4\uC5B4\uAC00\uC788\uB294\uAC83\uB3C4 \uBEB4\uC57C\uB420\uAC83\uAC19\uC740\uB370.. \uC801\uC6A9\uD558\uAE34\uD588\uC74C..\uC9C0\uCF1C\uBD10\uC57C\uB420\uB4EF.\n onCreatedThisChild(child: any, data: OnCreateRenderDataParams) {\n // console.log('------------------------',child, data, data.render?.rawSet?.isConnected)\n const n = [...this._children];\n n.push({instance:child, data});\n this._children = n.filter(it=>it.data.render?.rawSet?.isConnected)\n this.childrenSetSubject.next(this._children);\n \n // Update decorators when children change (DOM might have changed)\n // Only update if elements actually changed\n if (this._rawSet) {\n this._updateQueryDecorators(this._rawSet);\n this._updateEventDecorators(this._rawSet);\n }\n }\n\n onCreatedThisChildDebounce(childrenSet: ChildrenSet[]) {\n\n }\n\n onCreateRenderData(data: OnCreateRenderDataParams): void {\n this._render = data.render;\n if (data.render?.rawSet) {\n this.setRawSet(data.render.rawSet);\n }\n if (this._config?.onlyParentType) {\n const isOk = Array.isArray(this._config?.onlyParentType) ? this._config?.onlyParentType : [this._config?.onlyParentType].some(it => data.render?.parentThis instanceof it);\n if (!isOk) {\n throw new Error('only my parentThis ' + this._config?.onlyParentType);\n }\n }\n }\n\n onChangeAttrRender(name: string, value: any, other: OtherData): void {\n if (other.rawSet) {\n this.setRawSet(other.rawSet);\n }\n\n const attributes = ReflectUtils.getMetadata<AttributeMetadata[]>(ATTRIBUTE_METADATA_KEY, this.constructor);\n if (attributes && Array.isArray(attributes)) {\n for (const attrInfo of attributes) {\n if (this.equalsAttributeName(name, attrInfo.name as any)) {\n const finalValue = attrInfo.converter ? attrInfo.converter(value) : value;\n if (attrInfo.isMethod) {\n const method = (this as any)[attrInfo.propertyKey];\n if (typeof method === 'function') {\n method.call(this, finalValue);\n }\n } else {\n (this as any)[attrInfo.propertyKey] = finalValue;\n }\n }\n }\n }\n }\n\n onInitRender(param: any, rawSet: RawSet) {\n this.createChildrenDebounceSubscription = this.childrenSetSubject.pipe(debounceTime(this.componentConfig?.createChildrenDebounce??0)).subscribe(it => {\n this.onCreatedThisChildDebounce(it);\n });\n if (rawSet) {\n this.setRawSet(rawSet);\n\n const e = this.getElement();\n if (e) {\n (e as any).component = this;\n }\n\n // Setup decorators\n this._setupQueryDecorators(rawSet);\n this._setupEventDecorators(rawSet);\n }\n }\n\n onDrThisBind() {\n // Logic moved to onInitRender for robustness\n }\n\n onDrThisUnBind() {\n this.onDestroy();\n }\n\n onDestroyRender(data?: OnDestroyRenderParams): void {\n this.onDestroy();\n }\n\n onDestroy() {\n this._cleanupEventListeners();\n this._cleanupQueryBindings();\n this._cleanupEventBindings();\n this._clearAllRefreshTimers();\n this.createChildrenDebounceSubscription?.unsubscribe();\n }\n\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;AAAA;;8BAAO;",
6
+ "names": []
7
+ }