@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.
- package/dist/cjs/DomRender.d.js +16 -0
- package/dist/cjs/DomRender.d.js.map +7 -0
- package/dist/cjs/DomRender.js +5 -0
- package/dist/cjs/DomRender.js.map +1 -1
- package/dist/cjs/DomRenderProxy.d.js +17 -0
- package/dist/cjs/DomRenderProxy.d.js.map +7 -0
- package/dist/cjs/DomRenderProxy.d.ts +0 -1
- package/dist/cjs/DomRenderProxy.d.ts.map +1 -1
- package/dist/cjs/DomRenderProxy.js +6 -4
- package/dist/cjs/DomRenderProxy.js.map +2 -2
- package/dist/cjs/components/ComponentBase.d.js +17 -0
- package/dist/cjs/components/ComponentBase.d.js.map +7 -0
- package/dist/cjs/components/ComponentBase.d.ts +0 -1
- package/dist/cjs/components/ComponentBase.d.ts.map +1 -1
- package/dist/cjs/components/ComponentBase.js +71 -54
- package/dist/cjs/components/ComponentBase.js.map +2 -2
- package/dist/cjs/components/ComponentRouterBase.d.js +16 -0
- package/dist/cjs/components/ComponentRouterBase.d.js.map +7 -0
- package/dist/cjs/components/ComponentRouterBase.js +4 -0
- package/dist/cjs/components/ComponentRouterBase.js.map +1 -1
- package/dist/cjs/components/ComponentSet.d.js +16 -0
- package/dist/cjs/components/ComponentSet.d.js.map +7 -0
- package/dist/cjs/components/ComponentSet.js +5 -0
- package/dist/cjs/components/ComponentSet.js.map +1 -1
- package/dist/cjs/components/a/A.d.js +24 -0
- package/dist/cjs/components/a/A.d.js.map +7 -0
- package/dist/cjs/components/a/A.d.ts +1 -1
- package/dist/cjs/components/a/A.js +40 -32
- package/dist/cjs/components/a/A.js.map +1 -1
- package/dist/cjs/components/a/index.d.js +18 -0
- package/dist/cjs/components/a/index.d.js.map +7 -0
- package/dist/cjs/components/appender/Appender.d.js +24 -0
- package/dist/cjs/components/appender/Appender.d.js.map +7 -0
- package/dist/cjs/components/appender/Appender.d.ts +1 -1
- package/dist/cjs/components/appender/Appender.js +6 -0
- package/dist/cjs/components/appender/Appender.js.map +1 -1
- package/dist/cjs/components/appender/index.d.js +18 -0
- package/dist/cjs/components/appender/index.d.js.map +7 -0
- package/dist/cjs/components/checkbox/CheckBox.d.js +24 -0
- package/dist/cjs/components/checkbox/CheckBox.d.js.map +7 -0
- package/dist/cjs/components/checkbox/CheckBox.d.ts +3 -3
- package/dist/cjs/components/checkbox/CheckBox.js +7 -4
- package/dist/cjs/components/checkbox/CheckBox.js.map +1 -1
- package/dist/cjs/components/checkbox/index.d.js +18 -0
- package/dist/cjs/components/checkbox/index.d.js.map +7 -0
- package/dist/cjs/components/choose/Choose.d.js +24 -0
- package/dist/cjs/components/choose/Choose.d.js.map +7 -0
- package/dist/cjs/components/choose/Choose.d.ts +3 -3
- package/dist/cjs/components/choose/Choose.js +11 -1
- package/dist/cjs/components/choose/Choose.js.map +1 -1
- package/dist/cjs/components/choose/index.d.js +18 -0
- package/dist/cjs/components/choose/index.d.js.map +7 -0
- package/dist/cjs/components/details/Details.d.js +24 -0
- package/dist/cjs/components/details/Details.d.js.map +7 -0
- package/dist/cjs/components/details/Details.d.ts +4 -4
- package/dist/cjs/components/details/Details.js +11 -0
- package/dist/cjs/components/details/Details.js.map +1 -1
- package/dist/cjs/components/details/index.d.js +18 -0
- package/dist/cjs/components/details/index.d.js.map +7 -0
- package/dist/cjs/components/forOf/ForOf.d.js +24 -0
- package/dist/cjs/components/forOf/ForOf.d.js.map +7 -0
- package/dist/cjs/components/forOf/ForOf.d.ts +1 -1
- package/dist/cjs/components/forOf/ForOf.js +6 -0
- package/dist/cjs/components/forOf/ForOf.js.map +1 -1
- package/dist/cjs/components/forOf/index.d.js +18 -0
- package/dist/cjs/components/forOf/index.d.js.map +7 -0
- package/dist/cjs/components/if/If.d.js +24 -0
- package/dist/cjs/components/if/If.d.js.map +7 -0
- package/dist/cjs/components/if/If.d.ts +1 -1
- package/dist/cjs/components/if/If.js +3 -1
- package/dist/cjs/components/if/If.js.map +1 -1
- package/dist/cjs/components/if/index.d.js +18 -0
- package/dist/cjs/components/if/index.d.js.map +7 -0
- package/dist/cjs/components/index.d.js +34 -0
- package/dist/cjs/components/index.d.js.map +7 -0
- package/dist/cjs/components/index.d.ts +37 -37
- package/dist/cjs/components/input/Input.d.js +24 -0
- package/dist/cjs/components/input/Input.d.js.map +7 -0
- package/dist/cjs/components/input/Input.d.ts +1 -1
- package/dist/cjs/components/input/Input.js +8 -0
- package/dist/cjs/components/input/Input.js.map +1 -1
- package/dist/cjs/components/input/index.d.js +18 -0
- package/dist/cjs/components/input/index.d.js.map +7 -0
- package/dist/cjs/components/promise/PromiseSwitch.d.js +24 -0
- package/dist/cjs/components/promise/PromiseSwitch.d.js.map +7 -0
- package/dist/cjs/components/promise/PromiseSwitch.d.ts +5 -5
- package/dist/cjs/components/promise/PromiseSwitch.js +20 -1
- package/dist/cjs/components/promise/PromiseSwitch.js.map +1 -1
- package/dist/cjs/components/promise/index.d.js +18 -0
- package/dist/cjs/components/promise/index.d.js.map +7 -0
- package/dist/cjs/components/radio/Radio.d.js +24 -0
- package/dist/cjs/components/radio/Radio.d.js.map +7 -0
- package/dist/cjs/components/radio/Radio.d.ts +3 -3
- package/dist/cjs/components/radio/Radio.js +7 -4
- package/dist/cjs/components/radio/Radio.js.map +1 -1
- package/dist/cjs/components/radio/index.d.js +18 -0
- package/dist/cjs/components/radio/index.d.js.map +7 -0
- package/dist/cjs/components/router/Route.d.js +24 -0
- package/dist/cjs/components/router/Route.d.js.map +7 -0
- package/dist/cjs/components/router/Route.d.ts +2 -2
- package/dist/cjs/components/router/Route.js +18 -15
- package/dist/cjs/components/router/Route.js.map +1 -1
- package/dist/cjs/components/router/RouterOutlet.d.js +24 -0
- package/dist/cjs/components/router/RouterOutlet.d.js.map +7 -0
- package/dist/cjs/components/router/RouterOutlet.d.ts +1 -1
- package/dist/cjs/components/router/RouterOutlet.js +5 -1
- package/dist/cjs/components/router/RouterOutlet.js.map +1 -1
- package/dist/cjs/components/router/index.d.js +19 -0
- package/dist/cjs/components/router/index.d.js.map +7 -0
- package/dist/cjs/components/select/Select.d.js +24 -0
- package/dist/cjs/components/select/Select.d.js.map +7 -0
- package/dist/cjs/components/select/Select.d.ts +10 -10
- package/dist/cjs/components/select/Select.js +86 -69
- package/dist/cjs/components/select/Select.js.map +2 -2
- package/dist/cjs/components/select/index.d.js +18 -0
- package/dist/cjs/components/select/index.d.js.map +7 -0
- package/dist/cjs/components/this/This.d.js +24 -0
- package/dist/cjs/components/this/This.d.js.map +7 -0
- package/dist/cjs/components/this/This.d.ts +1 -1
- package/dist/cjs/components/this/This.js +5 -1
- package/dist/cjs/components/this/This.js.map +1 -1
- package/dist/cjs/components/this/index.d.js +18 -0
- package/dist/cjs/components/this/index.d.js.map +7 -0
- package/dist/cjs/components/timer/Timer.d.js +24 -0
- package/dist/cjs/components/timer/Timer.d.js.map +7 -0
- package/dist/cjs/components/timer/Timer.d.ts +1 -1
- package/dist/cjs/components/timer/Timer.js +7 -0
- package/dist/cjs/components/timer/Timer.js.map +1 -1
- package/dist/cjs/components/timer/index.d.js +18 -0
- package/dist/cjs/components/timer/index.d.js.map +7 -0
- package/dist/cjs/configs/DomRenderConfig.d.js +16 -0
- package/dist/cjs/configs/DomRenderConfig.d.js.map +7 -0
- package/dist/cjs/configs/TargetAttr.d.js +16 -0
- package/dist/cjs/configs/TargetAttr.d.js.map +7 -0
- package/dist/cjs/configs/TargetElement.d.js +16 -0
- package/dist/cjs/configs/TargetElement.d.js.map +7 -0
- package/dist/cjs/decorators/DomRenderNoProxy.d.js +17 -0
- package/dist/cjs/decorators/DomRenderNoProxy.d.js.map +7 -0
- package/dist/cjs/decorators/DomRenderNoProxy.d.ts +0 -1
- package/dist/cjs/decorators/DomRenderNoProxy.d.ts.map +1 -1
- package/dist/cjs/decorators/DomRenderNoProxy.js +0 -1
- package/dist/cjs/decorators/DomRenderNoProxy.js.map +2 -2
- package/dist/cjs/events/EventManager.d.js +16 -0
- package/dist/cjs/events/EventManager.d.js.map +7 -0
- package/dist/cjs/events/EventManager.js +58 -56
- package/dist/cjs/events/EventManager.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -15
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -41
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/iterators/Range.d.js +16 -0
- package/dist/cjs/iterators/Range.d.js.map +7 -0
- package/dist/cjs/iterators/Range.js +9 -1
- package/dist/cjs/iterators/Range.js.map +1 -1
- package/dist/cjs/lifecycle/OnBeforeReturnSet.d.js +16 -0
- package/dist/cjs/lifecycle/OnBeforeReturnSet.d.js.map +7 -0
- package/dist/cjs/lifecycle/OnChangeAttrRender.d.js +16 -0
- package/dist/cjs/lifecycle/OnChangeAttrRender.d.js.map +7 -0
- package/dist/cjs/lifecycle/OnChildRenderedByProperty.d.js +16 -0
- package/dist/cjs/lifecycle/OnChildRenderedByProperty.d.js.map +7 -0
- package/dist/cjs/lifecycle/OnCreateRender.d.js +16 -0
- package/dist/cjs/lifecycle/OnCreateRender.d.js.map +7 -0
- package/dist/cjs/lifecycle/OnCreateRenderData.d.js +16 -0
- package/dist/cjs/lifecycle/OnCreateRenderData.d.js.map +7 -0
- package/dist/cjs/lifecycle/OnCreatedThisChild.d.js +16 -0
- package/dist/cjs/lifecycle/OnCreatedThisChild.d.js.map +7 -0
- package/dist/cjs/lifecycle/OnDestroyRender.d.js +16 -0
- package/dist/cjs/lifecycle/OnDestroyRender.d.js.map +7 -0
- package/dist/cjs/lifecycle/OnInitRender.d.js +16 -0
- package/dist/cjs/lifecycle/OnInitRender.d.js.map +7 -0
- package/dist/cjs/lifecycle/OnProxyDomRender.d.js +16 -0
- package/dist/cjs/lifecycle/OnProxyDomRender.d.js.map +7 -0
- package/dist/cjs/lifecycle/dr-this/OnDrThisBind.d.js +16 -0
- package/dist/cjs/lifecycle/dr-this/OnDrThisBind.d.js.map +7 -0
- package/dist/cjs/lifecycle/dr-this/OnDrThisUnBind.d.js +16 -0
- package/dist/cjs/lifecycle/dr-this/OnDrThisUnBind.d.js.map +7 -0
- package/dist/cjs/messenger/DefaultMessenger.d.js +16 -0
- package/dist/cjs/messenger/DefaultMessenger.d.js.map +7 -0
- package/dist/cjs/messenger/Messenger.d.js +16 -0
- package/dist/cjs/messenger/Messenger.d.js.map +7 -0
- package/dist/cjs/messenger/Messenger.js +8 -5
- package/dist/cjs/messenger/Messenger.js.map +1 -1
- package/dist/cjs/operators/Appender.d.js +16 -0
- package/dist/cjs/operators/Appender.d.js.map +7 -0
- package/dist/cjs/operators/Appender.js +5 -3
- package/dist/cjs/operators/Appender.js.map +1 -1
- package/dist/cjs/operators/Dr.d.js +16 -0
- package/dist/cjs/operators/Dr.d.js.map +7 -0
- package/dist/cjs/operators/DrAppender.d.js +16 -0
- package/dist/cjs/operators/DrAppender.d.js.map +7 -0
- package/dist/cjs/operators/DrFor.d.js +16 -0
- package/dist/cjs/operators/DrFor.d.js.map +7 -0
- package/dist/cjs/operators/DrForOf.d.js +16 -0
- package/dist/cjs/operators/DrForOf.d.js.map +7 -0
- package/dist/cjs/operators/DrForOf.js +2 -2
- package/dist/cjs/operators/DrForOf.js.map +2 -2
- package/dist/cjs/operators/DrForm.d.js +16 -0
- package/dist/cjs/operators/DrForm.d.js.map +7 -0
- package/dist/cjs/operators/DrIf.d.js +16 -0
- package/dist/cjs/operators/DrIf.d.js.map +7 -0
- package/dist/cjs/operators/DrIf.js +3 -3
- package/dist/cjs/operators/DrIf.js.map +2 -2
- package/dist/cjs/operators/DrInnerHTML.d.js +16 -0
- package/dist/cjs/operators/DrInnerHTML.d.js.map +7 -0
- package/dist/cjs/operators/DrInnerText.d.js +16 -0
- package/dist/cjs/operators/DrInnerText.d.js.map +7 -0
- package/dist/cjs/operators/DrPre.d.js +16 -0
- package/dist/cjs/operators/DrPre.d.js.map +7 -0
- package/dist/cjs/operators/DrRepeat.d.js +16 -0
- package/dist/cjs/operators/DrRepeat.d.js.map +7 -0
- package/dist/cjs/operators/DrStripElement.d.js +16 -0
- package/dist/cjs/operators/DrStripElement.d.js.map +7 -0
- package/dist/cjs/operators/DrTargetAttr.d.js +16 -0
- package/dist/cjs/operators/DrTargetAttr.d.js.map +7 -0
- package/dist/cjs/operators/DrTargetElement.d.js +16 -0
- package/dist/cjs/operators/DrTargetElement.d.js.map +7 -0
- package/dist/cjs/operators/DrTargetElementIsElement.d.js +16 -0
- package/dist/cjs/operators/DrTargetElementIsElement.d.js.map +7 -0
- package/dist/cjs/operators/DrThis.d.js +16 -0
- package/dist/cjs/operators/DrThis.d.js.map +7 -0
- package/dist/cjs/operators/DrThisProperty.d.js +16 -0
- package/dist/cjs/operators/DrThisProperty.d.js.map +7 -0
- package/dist/cjs/operators/OperatorExecuter.d.js +16 -0
- package/dist/cjs/operators/OperatorExecuter.d.js.map +7 -0
- package/dist/cjs/operators/OperatorExecuter.js +2 -2
- package/dist/cjs/operators/OperatorExecuter.js.map +2 -2
- package/dist/cjs/operators/OperatorExecuterAttrRequire.d.js +16 -0
- package/dist/cjs/operators/OperatorExecuterAttrRequire.d.js.map +7 -0
- package/dist/cjs/rawsets/AttrInitCallBack.d.js +16 -0
- package/dist/cjs/rawsets/AttrInitCallBack.d.js.map +7 -0
- package/dist/cjs/rawsets/Attrs.d.js +16 -0
- package/dist/cjs/rawsets/Attrs.d.js.map +7 -0
- package/dist/cjs/rawsets/CreatorMetaData.d.js +16 -0
- package/dist/cjs/rawsets/CreatorMetaData.d.js.map +7 -0
- package/dist/cjs/rawsets/DestroyOptionType.d.js +16 -0
- package/dist/cjs/rawsets/DestroyOptionType.d.js.map +7 -0
- package/dist/cjs/rawsets/ElementInitCallBack.d.js +16 -0
- package/dist/cjs/rawsets/ElementInitCallBack.d.js.map +7 -0
- package/dist/cjs/rawsets/RawSet.d.js +16 -0
- package/dist/cjs/rawsets/RawSet.d.js.map +7 -0
- package/dist/cjs/rawsets/RawSet.js +64 -62
- package/dist/cjs/rawsets/RawSet.js.map +2 -2
- package/dist/cjs/rawsets/RawSetOperatorType.d.js +16 -0
- package/dist/cjs/rawsets/RawSetOperatorType.d.js.map +7 -0
- package/dist/cjs/rawsets/RawSetType.d.js +16 -0
- package/dist/cjs/rawsets/RawSetType.d.js.map +7 -0
- package/dist/cjs/rawsets/Render.d.js +16 -0
- package/dist/cjs/rawsets/Render.d.js.map +7 -0
- package/dist/cjs/routers/HashRouter.d.js +16 -0
- package/dist/cjs/routers/HashRouter.d.js.map +7 -0
- package/dist/cjs/routers/PathRouter.d.js +16 -0
- package/dist/cjs/routers/PathRouter.d.js.map +7 -0
- package/dist/cjs/routers/PathRouter.d.ts.map +1 -1
- package/dist/cjs/routers/PathRouter.js +0 -1
- package/dist/cjs/routers/PathRouter.js.map +2 -2
- package/dist/cjs/routers/Router.d.js +17 -0
- package/dist/cjs/routers/Router.d.js.map +7 -0
- package/dist/cjs/routers/Router.js +13 -9
- package/dist/cjs/routers/Router.js.map +1 -1
- package/dist/cjs/types/Types.d.js +16 -0
- package/dist/cjs/types/Types.d.js.map +7 -0
- package/dist/cjs/validators/MultipleValidator.js +3 -0
- package/dist/cjs/validators/MultipleValidator.js.map +1 -1
- package/dist/cjs/validators/NonPassValidator.d.js +16 -0
- package/dist/cjs/validators/NonPassValidator.d.js.map +7 -0
- package/dist/cjs/validators/NotRegExpTestValidator.js +3 -0
- package/dist/cjs/validators/NotRegExpTestValidator.js.map +1 -1
- package/dist/cjs/validators/RegExpTestValidator.js +3 -0
- package/dist/cjs/validators/RegExpTestValidator.js.map +1 -1
- package/dist/cjs/validators/Validator.d.js +16 -0
- package/dist/cjs/validators/Validator.d.js.map +7 -0
- package/dist/cjs/validators/Validator.js +7 -0
- package/dist/cjs/validators/Validator.js.map +1 -1
- package/dist/cjs/validators/ValidatorArray.d.js +16 -0
- package/dist/cjs/validators/ValidatorArray.d.js.map +7 -0
- package/dist/cjs/validators/ValidatorArray.js +4 -2
- package/dist/cjs/validators/ValidatorArray.js.map +1 -1
- package/dist/esm/DomRender.d.js +1 -0
- package/dist/esm/DomRender.d.js.map +7 -0
- package/dist/esm/DomRender.js +14 -8
- package/dist/esm/DomRender.js.map +1 -1
- package/dist/esm/DomRenderProxy.d.js +2 -0
- package/dist/esm/DomRenderProxy.d.js.map +7 -0
- package/dist/esm/DomRenderProxy.d.ts +0 -1
- package/dist/esm/DomRenderProxy.d.ts.map +1 -1
- package/dist/esm/DomRenderProxy.js +22 -19
- package/dist/esm/DomRenderProxy.js.map +2 -2
- package/dist/esm/components/ComponentBase.d.js +2 -0
- package/dist/esm/components/ComponentBase.d.js.map +7 -0
- package/dist/esm/components/ComponentBase.d.ts +0 -1
- package/dist/esm/components/ComponentBase.d.ts.map +1 -1
- package/dist/esm/components/ComponentBase.js +71 -56
- package/dist/esm/components/ComponentBase.js.map +2 -2
- package/dist/esm/components/ComponentRouterBase.d.js +1 -0
- package/dist/esm/components/ComponentRouterBase.d.js.map +7 -0
- package/dist/esm/components/ComponentRouterBase.js +7 -2
- package/dist/esm/components/ComponentRouterBase.js.map +1 -1
- package/dist/esm/components/ComponentSet.d.js +1 -0
- package/dist/esm/components/ComponentSet.d.js.map +7 -0
- package/dist/esm/components/ComponentSet.js +7 -1
- package/dist/esm/components/ComponentSet.js.map +1 -1
- package/dist/esm/components/a/A.d.js +5 -0
- package/dist/esm/components/a/A.d.js.map +7 -0
- package/dist/esm/components/a/A.d.ts +1 -1
- package/dist/esm/components/a/A.js +42 -36
- package/dist/esm/components/a/A.js.map +1 -1
- package/dist/esm/components/a/index.d.js +2 -0
- package/dist/esm/components/a/index.d.js.map +7 -0
- package/dist/esm/components/a/index.js +1 -1
- package/dist/esm/components/appender/Appender.d.js +5 -0
- package/dist/esm/components/appender/Appender.d.js.map +7 -0
- package/dist/esm/components/appender/Appender.d.ts +1 -1
- package/dist/esm/components/appender/Appender.js +10 -3
- package/dist/esm/components/appender/Appender.js.map +1 -1
- package/dist/esm/components/appender/index.d.js +2 -0
- package/dist/esm/components/appender/index.d.js.map +7 -0
- package/dist/esm/components/appender/index.js +1 -1
- package/dist/esm/components/checkbox/CheckBox.d.js +5 -0
- package/dist/esm/components/checkbox/CheckBox.d.js.map +7 -0
- package/dist/esm/components/checkbox/CheckBox.d.ts +3 -3
- package/dist/esm/components/checkbox/CheckBox.js +11 -7
- package/dist/esm/components/checkbox/CheckBox.js.map +1 -1
- package/dist/esm/components/checkbox/index.d.js +2 -0
- package/dist/esm/components/checkbox/index.d.js.map +7 -0
- package/dist/esm/components/checkbox/index.js +1 -1
- package/dist/esm/components/choose/Choose.d.js +5 -0
- package/dist/esm/components/choose/Choose.d.js.map +7 -0
- package/dist/esm/components/choose/Choose.d.ts +3 -3
- package/dist/esm/components/choose/Choose.js +15 -4
- package/dist/esm/components/choose/Choose.js.map +1 -1
- package/dist/esm/components/choose/index.d.js +2 -0
- package/dist/esm/components/choose/index.d.js.map +7 -0
- package/dist/esm/components/choose/index.js +1 -1
- package/dist/esm/components/details/Details.d.js +5 -0
- package/dist/esm/components/details/Details.d.js.map +7 -0
- package/dist/esm/components/details/Details.d.ts +4 -4
- package/dist/esm/components/details/Details.js +15 -3
- package/dist/esm/components/details/Details.js.map +1 -1
- package/dist/esm/components/details/index.d.js +2 -0
- package/dist/esm/components/details/index.d.js.map +7 -0
- package/dist/esm/components/details/index.js +1 -1
- package/dist/esm/components/forOf/ForOf.d.js +5 -0
- package/dist/esm/components/forOf/ForOf.d.js.map +7 -0
- package/dist/esm/components/forOf/ForOf.d.ts +1 -1
- package/dist/esm/components/forOf/ForOf.js +10 -3
- package/dist/esm/components/forOf/ForOf.js.map +1 -1
- package/dist/esm/components/forOf/index.d.js +2 -0
- package/dist/esm/components/forOf/index.d.js.map +7 -0
- package/dist/esm/components/forOf/index.js +1 -1
- package/dist/esm/components/if/If.d.js +5 -0
- package/dist/esm/components/if/If.d.js.map +7 -0
- package/dist/esm/components/if/If.d.ts +1 -1
- package/dist/esm/components/if/If.js +7 -4
- package/dist/esm/components/if/If.js.map +1 -1
- package/dist/esm/components/if/index.d.js +2 -0
- package/dist/esm/components/if/index.d.js.map +7 -0
- package/dist/esm/components/if/index.js +1 -1
- package/dist/esm/components/index.d.js +18 -0
- package/dist/esm/components/index.d.js.map +7 -0
- package/dist/esm/components/index.d.ts +37 -37
- package/dist/esm/components/index.js +31 -31
- package/dist/esm/components/input/Input.d.js +5 -0
- package/dist/esm/components/input/Input.d.js.map +7 -0
- package/dist/esm/components/input/Input.d.ts +1 -1
- package/dist/esm/components/input/Input.js +12 -3
- package/dist/esm/components/input/Input.js.map +1 -1
- package/dist/esm/components/input/index.d.js +2 -0
- package/dist/esm/components/input/index.d.js.map +7 -0
- package/dist/esm/components/input/index.js +1 -1
- package/dist/esm/components/promise/PromiseSwitch.d.js +5 -0
- package/dist/esm/components/promise/PromiseSwitch.d.js.map +7 -0
- package/dist/esm/components/promise/PromiseSwitch.d.ts +5 -5
- package/dist/esm/components/promise/PromiseSwitch.js +24 -4
- package/dist/esm/components/promise/PromiseSwitch.js.map +1 -1
- package/dist/esm/components/promise/index.d.js +2 -0
- package/dist/esm/components/promise/index.d.js.map +7 -0
- package/dist/esm/components/promise/index.js +1 -1
- package/dist/esm/components/radio/Radio.d.js +5 -0
- package/dist/esm/components/radio/Radio.d.js.map +7 -0
- package/dist/esm/components/radio/Radio.d.ts +3 -3
- package/dist/esm/components/radio/Radio.js +11 -7
- package/dist/esm/components/radio/Radio.js.map +1 -1
- package/dist/esm/components/radio/index.d.js +2 -0
- package/dist/esm/components/radio/index.d.js.map +7 -0
- package/dist/esm/components/radio/index.js +1 -1
- package/dist/esm/components/router/Route.d.js +5 -0
- package/dist/esm/components/router/Route.d.js.map +7 -0
- package/dist/esm/components/router/Route.d.ts +2 -2
- package/dist/esm/components/router/Route.js +21 -20
- package/dist/esm/components/router/Route.js.map +1 -1
- package/dist/esm/components/router/RouterOutlet.d.js +5 -0
- package/dist/esm/components/router/RouterOutlet.d.js.map +7 -0
- package/dist/esm/components/router/RouterOutlet.d.ts +1 -1
- package/dist/esm/components/router/RouterOutlet.js +9 -4
- package/dist/esm/components/router/RouterOutlet.js.map +1 -1
- package/dist/esm/components/router/index.d.js +3 -0
- package/dist/esm/components/router/index.d.js.map +7 -0
- package/dist/esm/components/router/index.js +2 -2
- package/dist/esm/components/select/Select.d.js +5 -0
- package/dist/esm/components/select/Select.d.js.map +7 -0
- package/dist/esm/components/select/Select.d.ts +10 -10
- package/dist/esm/components/select/Select.js +89 -74
- package/dist/esm/components/select/Select.js.map +2 -2
- package/dist/esm/components/select/index.d.js +2 -0
- package/dist/esm/components/select/index.d.js.map +7 -0
- package/dist/esm/components/select/index.js +1 -1
- package/dist/esm/components/this/This.d.js +5 -0
- package/dist/esm/components/this/This.d.js.map +7 -0
- package/dist/esm/components/this/This.d.ts +1 -1
- package/dist/esm/components/this/This.js +9 -4
- package/dist/esm/components/this/This.js.map +1 -1
- package/dist/esm/components/this/index.d.js +2 -0
- package/dist/esm/components/this/index.d.js.map +7 -0
- package/dist/esm/components/this/index.js +1 -1
- package/dist/esm/components/timer/Timer.d.js +5 -0
- package/dist/esm/components/timer/Timer.d.js.map +7 -0
- package/dist/esm/components/timer/Timer.d.ts +1 -1
- package/dist/esm/components/timer/Timer.js +11 -3
- package/dist/esm/components/timer/Timer.js.map +1 -1
- package/dist/esm/components/timer/index.d.js +2 -0
- package/dist/esm/components/timer/index.d.js.map +7 -0
- package/dist/esm/components/timer/index.js +1 -1
- package/dist/esm/configs/DomRenderConfig.d.js +1 -0
- package/dist/esm/configs/DomRenderConfig.d.js.map +7 -0
- package/dist/esm/configs/TargetAttr.d.js +1 -0
- package/dist/esm/configs/TargetAttr.d.js.map +7 -0
- package/dist/esm/configs/TargetElement.d.js +1 -0
- package/dist/esm/configs/TargetElement.d.js.map +7 -0
- package/dist/esm/configs/index.js +3 -3
- package/dist/esm/decorators/DomRenderNoProxy.d.js +2 -0
- package/dist/esm/decorators/DomRenderNoProxy.d.js.map +7 -0
- package/dist/esm/decorators/DomRenderNoProxy.d.ts +0 -1
- package/dist/esm/decorators/DomRenderNoProxy.d.ts.map +1 -1
- package/dist/esm/decorators/DomRenderNoProxy.js +0 -1
- package/dist/esm/decorators/DomRenderNoProxy.js.map +2 -2
- package/dist/esm/decorators/index.js +1 -1
- package/dist/esm/events/EventManager.d.js +1 -0
- package/dist/esm/events/EventManager.d.js.map +7 -0
- package/dist/esm/events/EventManager.js +61 -58
- package/dist/esm/events/EventManager.js.map +1 -1
- package/dist/esm/events/index.js +1 -1
- package/dist/esm/index.d.ts +2 -15
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -40
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/iterators/Range.d.js +1 -0
- package/dist/esm/iterators/Range.d.js.map +7 -0
- package/dist/esm/iterators/Range.js +10 -1
- package/dist/esm/iterators/Range.js.map +1 -1
- package/dist/esm/iterators/index.js +1 -1
- package/dist/esm/lifecycle/OnBeforeReturnSet.d.js +1 -0
- package/dist/esm/lifecycle/OnBeforeReturnSet.d.js.map +7 -0
- package/dist/esm/lifecycle/OnChangeAttrRender.d.js +1 -0
- package/dist/esm/lifecycle/OnChangeAttrRender.d.js.map +7 -0
- package/dist/esm/lifecycle/OnChildRenderedByProperty.d.js +1 -0
- package/dist/esm/lifecycle/OnChildRenderedByProperty.d.js.map +7 -0
- package/dist/esm/lifecycle/OnCreateRender.d.js +1 -0
- package/dist/esm/lifecycle/OnCreateRender.d.js.map +7 -0
- package/dist/esm/lifecycle/OnCreateRenderData.d.js +1 -0
- package/dist/esm/lifecycle/OnCreateRenderData.d.js.map +7 -0
- package/dist/esm/lifecycle/OnCreatedThisChild.d.js +1 -0
- package/dist/esm/lifecycle/OnCreatedThisChild.d.js.map +7 -0
- package/dist/esm/lifecycle/OnDestroyRender.d.js +1 -0
- package/dist/esm/lifecycle/OnDestroyRender.d.js.map +7 -0
- package/dist/esm/lifecycle/OnInitRender.d.js +1 -0
- package/dist/esm/lifecycle/OnInitRender.d.js.map +7 -0
- package/dist/esm/lifecycle/OnProxyDomRender.d.js +1 -0
- package/dist/esm/lifecycle/OnProxyDomRender.d.js.map +7 -0
- package/dist/esm/lifecycle/dr-this/OnDrThisBind.d.js +1 -0
- package/dist/esm/lifecycle/dr-this/OnDrThisBind.d.js.map +7 -0
- package/dist/esm/lifecycle/dr-this/OnDrThisUnBind.d.js +1 -0
- package/dist/esm/lifecycle/dr-this/OnDrThisUnBind.d.js.map +7 -0
- package/dist/esm/lifecycle/dr-this/index.js +2 -2
- package/dist/esm/lifecycle/index.js +12 -12
- package/dist/esm/managers/index.js +1 -1
- package/dist/esm/messenger/DefaultMessenger.d.js +1 -0
- package/dist/esm/messenger/DefaultMessenger.d.js.map +7 -0
- package/dist/esm/messenger/DefaultMessenger.js +1 -1
- package/dist/esm/messenger/Messenger.d.js +1 -0
- package/dist/esm/messenger/Messenger.d.js.map +7 -0
- package/dist/esm/messenger/Messenger.js +10 -6
- package/dist/esm/messenger/Messenger.js.map +1 -1
- package/dist/esm/messenger/index.js +2 -2
- package/dist/esm/operators/Appender.d.js +1 -0
- package/dist/esm/operators/Appender.d.js.map +7 -0
- package/dist/esm/operators/Appender.js +6 -3
- package/dist/esm/operators/Appender.js.map +1 -1
- package/dist/esm/operators/Dr.d.js +1 -0
- package/dist/esm/operators/Dr.d.js.map +7 -0
- package/dist/esm/operators/Dr.js +3 -3
- package/dist/esm/operators/DrAppender.d.js +1 -0
- package/dist/esm/operators/DrAppender.d.js.map +7 -0
- package/dist/esm/operators/DrAppender.js +3 -3
- package/dist/esm/operators/DrFor.d.js +1 -0
- package/dist/esm/operators/DrFor.d.js.map +7 -0
- package/dist/esm/operators/DrFor.js +3 -3
- package/dist/esm/operators/DrForOf.d.js +1 -0
- package/dist/esm/operators/DrForOf.d.js.map +7 -0
- package/dist/esm/operators/DrForOf.js +4 -4
- package/dist/esm/operators/DrForOf.js.map +1 -1
- package/dist/esm/operators/DrForm.d.js +1 -0
- package/dist/esm/operators/DrForm.d.js.map +7 -0
- package/dist/esm/operators/DrForm.js +6 -6
- package/dist/esm/operators/DrIf.d.js +1 -0
- package/dist/esm/operators/DrIf.d.js.map +7 -0
- package/dist/esm/operators/DrIf.js +4 -4
- package/dist/esm/operators/DrIf.js.map +1 -1
- package/dist/esm/operators/DrInnerHTML.d.js +1 -0
- package/dist/esm/operators/DrInnerHTML.d.js.map +7 -0
- package/dist/esm/operators/DrInnerHTML.js +3 -3
- package/dist/esm/operators/DrInnerText.d.js +1 -0
- package/dist/esm/operators/DrInnerText.d.js.map +7 -0
- package/dist/esm/operators/DrInnerText.js +3 -3
- package/dist/esm/operators/DrPre.d.js +1 -0
- package/dist/esm/operators/DrPre.d.js.map +7 -0
- package/dist/esm/operators/DrPre.js +1 -1
- package/dist/esm/operators/DrRepeat.d.js +1 -0
- package/dist/esm/operators/DrRepeat.d.js.map +7 -0
- package/dist/esm/operators/DrRepeat.js +4 -4
- package/dist/esm/operators/DrStripElement.d.js +1 -0
- package/dist/esm/operators/DrStripElement.d.js.map +7 -0
- package/dist/esm/operators/DrStripElement.js +3 -3
- package/dist/esm/operators/DrTargetAttr.d.js +1 -0
- package/dist/esm/operators/DrTargetAttr.d.js.map +7 -0
- package/dist/esm/operators/DrTargetAttr.js +2 -2
- package/dist/esm/operators/DrTargetElement.d.js +1 -0
- package/dist/esm/operators/DrTargetElement.d.js.map +7 -0
- package/dist/esm/operators/DrTargetElement.js +2 -2
- package/dist/esm/operators/DrTargetElementIsElement.d.js +1 -0
- package/dist/esm/operators/DrTargetElementIsElement.d.js.map +7 -0
- package/dist/esm/operators/DrTargetElementIsElement.js +2 -2
- package/dist/esm/operators/DrThis.d.js +1 -0
- package/dist/esm/operators/DrThis.d.js.map +7 -0
- package/dist/esm/operators/DrThis.js +6 -6
- package/dist/esm/operators/DrThisProperty.d.js +1 -0
- package/dist/esm/operators/DrThisProperty.d.js.map +7 -0
- package/dist/esm/operators/DrThisProperty.js +3 -3
- package/dist/esm/operators/OperatorExecuter.d.js +1 -0
- package/dist/esm/operators/OperatorExecuter.d.js.map +7 -0
- package/dist/esm/operators/OperatorExecuter.js +1 -1
- package/dist/esm/operators/OperatorExecuter.js.map +1 -1
- package/dist/esm/operators/OperatorExecuterAttrRequire.d.js +1 -0
- package/dist/esm/operators/OperatorExecuterAttrRequire.d.js.map +7 -0
- package/dist/esm/operators/OperatorExecuterAttrRequire.js +1 -1
- package/dist/esm/operators/index.js +19 -19
- package/dist/esm/rawsets/AttrInitCallBack.d.js +1 -0
- package/dist/esm/rawsets/AttrInitCallBack.d.js.map +7 -0
- package/dist/esm/rawsets/Attrs.d.js +1 -0
- package/dist/esm/rawsets/Attrs.d.js.map +7 -0
- package/dist/esm/rawsets/CreatorMetaData.d.js +1 -0
- package/dist/esm/rawsets/CreatorMetaData.d.js.map +7 -0
- package/dist/esm/rawsets/DestroyOptionType.d.js +1 -0
- package/dist/esm/rawsets/DestroyOptionType.d.js.map +7 -0
- package/dist/esm/rawsets/ElementInitCallBack.d.js +1 -0
- package/dist/esm/rawsets/ElementInitCallBack.d.js.map +7 -0
- package/dist/esm/rawsets/RawSet.d.js +1 -0
- package/dist/esm/rawsets/RawSet.d.js.map +7 -0
- package/dist/esm/rawsets/RawSet.js +85 -82
- package/dist/esm/rawsets/RawSet.js.map +2 -2
- package/dist/esm/rawsets/RawSetOperatorType.d.js +1 -0
- package/dist/esm/rawsets/RawSetOperatorType.d.js.map +7 -0
- package/dist/esm/rawsets/RawSetType.d.js +1 -0
- package/dist/esm/rawsets/RawSetType.d.js.map +7 -0
- package/dist/esm/rawsets/Render.d.js +1 -0
- package/dist/esm/rawsets/Render.d.js.map +7 -0
- package/dist/esm/rawsets/index.js +9 -9
- package/dist/esm/routers/HashRouter.d.js +1 -0
- package/dist/esm/routers/HashRouter.d.js.map +7 -0
- package/dist/esm/routers/HashRouter.js +1 -1
- package/dist/esm/routers/PathRouter.d.js +1 -0
- package/dist/esm/routers/PathRouter.d.js.map +7 -0
- package/dist/esm/routers/PathRouter.d.ts.map +1 -1
- package/dist/esm/routers/PathRouter.js +1 -2
- package/dist/esm/routers/PathRouter.js.map +2 -2
- package/dist/esm/routers/Router.d.js +2 -0
- package/dist/esm/routers/Router.d.js.map +7 -0
- package/dist/esm/routers/Router.js +14 -9
- package/dist/esm/routers/Router.js.map +1 -1
- package/dist/esm/routers/index.js +3 -3
- package/dist/esm/types/Types.d.js +1 -0
- package/dist/esm/types/Types.d.js.map +7 -0
- package/dist/esm/types/index.js +1 -1
- package/dist/esm/validators/AllCheckedValidatorArray.js +1 -1
- package/dist/esm/validators/AllUnCheckedValidatorArray.js +1 -1
- package/dist/esm/validators/CheckedValidator.js +1 -1
- package/dist/esm/validators/CountEqualsCheckedValidatorArray.js +1 -1
- package/dist/esm/validators/CountEqualsUnCheckedValidatorArray.js +1 -1
- package/dist/esm/validators/CountGreaterThanCheckedValidatorArray.js +1 -1
- package/dist/esm/validators/CountGreaterThanEqualsCheckedValidatorArray.js +1 -1
- package/dist/esm/validators/CountGreaterThanEqualsUnCheckedValidatorArray.js +1 -1
- package/dist/esm/validators/CountGreaterThanUnCheckedValidatorArray.js +1 -1
- package/dist/esm/validators/CountLessThanCheckedValidatorArray.js +1 -1
- package/dist/esm/validators/CountLessThanEqualsCheckedValidatorArray.js +1 -1
- package/dist/esm/validators/CountLessThanEqualsUnCheckedValidatorArray.js +1 -1
- package/dist/esm/validators/CountLessThanUnCheckedValidatorArray.js +1 -1
- package/dist/esm/validators/CountUnCheckedValidatorArray.js +1 -1
- package/dist/esm/validators/EmptyValidator.js +1 -1
- package/dist/esm/validators/ExcludeCheckedValidatorArray.js +1 -1
- package/dist/esm/validators/FormValidator.js +1 -1
- package/dist/esm/validators/IncludeCheckedValidatorArray.js +1 -1
- package/dist/esm/validators/MultipleValidator.js +5 -1
- package/dist/esm/validators/MultipleValidator.js.map +1 -1
- package/dist/esm/validators/NonPassValidator.d.js +1 -0
- package/dist/esm/validators/NonPassValidator.d.js.map +7 -0
- package/dist/esm/validators/NonPassValidator.js +1 -1
- package/dist/esm/validators/NotEmptyValidator.js +1 -1
- package/dist/esm/validators/NotRegExpTestValidator.js +6 -2
- package/dist/esm/validators/NotRegExpTestValidator.js.map +1 -1
- package/dist/esm/validators/PassValidator.js +1 -1
- package/dist/esm/validators/RegExpTestValidator.js +6 -2
- package/dist/esm/validators/RegExpTestValidator.js.map +1 -1
- package/dist/esm/validators/RequiredValidator.js +1 -1
- package/dist/esm/validators/UnCheckedValidator.js +1 -1
- package/dist/esm/validators/ValidMultipleValidator.js +1 -1
- package/dist/esm/validators/ValidValidator.js +1 -1
- package/dist/esm/validators/ValidValidatorArray.js +1 -1
- package/dist/esm/validators/Validator.d.js +1 -0
- package/dist/esm/validators/Validator.d.js.map +7 -0
- package/dist/esm/validators/Validator.js +8 -0
- package/dist/esm/validators/Validator.js.map +1 -1
- package/dist/esm/validators/ValidatorArray.d.js +1 -0
- package/dist/esm/validators/ValidatorArray.d.js.map +7 -0
- package/dist/esm/validators/ValidatorArray.js +7 -4
- package/dist/esm/validators/ValidatorArray.js.map +1 -1
- package/dist/esm/validators/ValueEqualsValidator.js +1 -1
- package/dist/esm/validators/ValueNotEqualsValidator.js +1 -1
- package/dist/esm/validators/index.js +31 -31
- package/dist/esm-bundle/dooboostore-dom-render.esm.js +3 -6757
- package/dist/esm-bundle/dooboostore-dom-render.esm.js.map +4 -4
- package/dist/umd-bundle/dooboostore-dom-render.umd.js +2 -6761
- package/dist/umd-bundle/dooboostore-dom-render.umd.js.map +4 -4
- package/package.json +10 -9
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/rawsets/RawSet.ts"],
|
|
4
|
-
"sourcesContent": ["import { RandomUtils } from '@dooboostore/core/random/RandomUtils';\nimport { StringUtils } from '@dooboostore/core/string/StringUtils';\nimport { ScriptUtils } from '@dooboostore/core-web/script/ScriptUtils';\nimport { EventManager } from '../events/EventManager';\nimport type { DomRenderConfig } from '../configs/DomRenderConfig';\nimport { Range } from '../iterators/Range';\nimport { ElementUtils } from '@dooboostore/core-web/element/ElementUtils';\nimport { ComponentSet } from '../components/ComponentSet';\nimport { DrPre } from '../operators/DrPre';\nimport { Dr } from '../operators/Dr';\nimport { DrIf } from '../operators/DrIf';\nimport { ExecuteState } from '../operators/OperatorExecuter';\nimport { DrThis } from '../operators/DrThis';\nimport { DrForm } from '../operators/DrForm';\nimport { DrInnerText } from '../operators/DrInnerText';\nimport { DrInnerHTML } from '../operators/DrInnerHTML';\nimport { DrFor } from '../operators/DrFor';\nimport { DrForOf } from '../operators/DrForOf';\nimport { DrAppender } from '../operators/DrAppender';\nimport { DrRepeat } from '../operators/DrRepeat';\nimport { DrTargetElement } from '../operators/DrTargetElement';\nimport { DrTargetAttr } from '../operators/DrTargetAttr';\nimport { DrStripElement } from '../operators/DrStripElement';\nimport { TargetElement } from '../configs/TargetElement';\nimport { TargetAttr } from '../configs/TargetAttr';\nimport { DestroyOptionType } from './DestroyOptionType';\nimport { Attrs } from './Attrs';\nimport { AttrInitCallBack } from './AttrInitCallBack';\nimport { ElementInitCallBack } from './ElementInitCallBack';\nimport { RawSetType } from './RawSetType';\nimport { Render } from './Render';\nimport { DrThisProperty } from '../operators/DrThisProperty';\nimport { RawSetOperatorType } from './RawSetOperatorType';\nimport { CssParser, CssRule, isStyleRule, isAtRule } from '@dooboostore/core/parser/css/CssParser';\nimport { isOnCreateRenderData, OnCreateRenderDataParams } from '../lifecycle/OnCreateRenderData';\nimport { isOnCreateRender } from '../lifecycle/OnCreateRender';\nimport { isOnChangeAttrRender } from '../lifecycle/OnChangeAttrRender';\nimport { isOnInitRender } from '../lifecycle/OnInitRender';\nimport { isOnCreatedThisChild } from '../lifecycle/OnCreatedThisChild';\nimport { isOnDestroyRender, OnDestroyRenderParams } from '../lifecycle/OnDestroyRender';\nimport { DrTargetElementIsElement } from '../operators/DrTargetElementIsElement';\nimport { ObjectUtils } from '@dooboostore/core';\n\n\nexport class RawSet {\n public static readonly DR_NAME = 'dr';\n public static readonly DR_IF_NAME = 'dr-if';\n public static readonly DR_FOR_NAME = 'dr-for';\n public static readonly DR_FOR_OF_NAME = 'dr-for-of';\n public static readonly DR_THIS_PROPERTY_NAME = 'dr-this-property';\n public static readonly DR_REPEAT_NAME = 'dr-repeat';\n public static readonly DR_THIS_NAME = 'dr-this';\n public static readonly DR_FORM_NAME = 'dr-form';\n public static readonly DR_PRE_NAME = 'dr-pre';\n public static readonly DR_APPENDER_NAME = 'dr-appender';\n public static readonly DR_INNERHTML_NAME = 'dr-inner-html';\n public static readonly DR_INNERTEXT_NAME = 'dr-inner-text';\n public static readonly DR_DETECT_NAME = 'dr-detect';\n public static readonly DR_STRIP_NAME = 'dr-strip';\n public static readonly DR_REPLACE_TARGET_ELEMENT_IS_NAME = 'dr-replace-target-element-is';\n\n // \uAC10\uC9C0\uCC98\uB9AC\uB418\uB294 \uC635\uC158\n public static readonly DR_DETECT_IF_OPTIONNAME = 'dr-detect-option-if';\n public static readonly DR_DETECT_FILTER_OPTIONNAME = 'dr-detect-option-filter';\n public static readonly DR_DETECT_ATTR_OPTIONNAME = 'dr-detect-option-attr';\n\n\n /**\n * @deprecated\n */\n public static readonly DR_THIS_OPTIONNAME = 'dr-option-this';\n public static readonly DR_ATTR_OPTIONNAME = 'dr-option-attr';\n public static readonly DR_IF_OPTIONNAME = 'dr-option-if';\n public static readonly DR_IT_OPTIONNAME = 'dr-option-it';\n public static readonly DR_VAR_OPTIONNAME = 'dr-option-var';\n public static readonly DR_AFTER_OPTIONNAME = 'dr-option-after';\n public static readonly DR_NEXT_OPTIONNAME = 'dr-option-next';\n public static readonly DR_BEFORE_OPTIONNAME = 'dr-option-before';\n public static readonly DR_COMPLETE_OPTIONNAME = 'dr-option-complete';\n public static readonly DR_STRIP_OPTIONNAME = 'dr-option-strip';\n public static readonly DR_DESTROY_OPTIONNAME = 'dr-option-destroy';\n\n public static readonly DR_THIS_NAME_OPTIONNAME = 'dr-option-this-name';\n /**\n * @deprecated\n */\n public static readonly DR_COMPONENT_NAME_OPTIONNAME = 'dr-option-component-name';\n public static readonly DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME = 'dr-option-component-inner-html-name';\n public static readonly DR_KEY_OPTIONNAME = 'dr-option-key';\n public static readonly DR_HAS_KEYS_OPTIONNAME = 'dr-option-has-keys';\n\n public static readonly DR_ON_CREATE_ARGUMENTS_OPTIONNAME = 'dr-on-create:arguments';\n public static readonly DR_ON_CREATED_CALLBACK_OPTIONNAME = 'dr-on-create:callback';\n /** \uC6B0\uC120 \uC4F0\uB294\uACF3\uC774 \uC5C6\uC5B4\uC11C deprecated\uB97C \uAC78\uC5B4\uB1A8\uC74C\n @deprecated\n */\n public static readonly DR_ON_INIT_ARGUMENTS_OPTIONNAME = 'dr-on-init:arguments';\n public static readonly DR_ON_CONSTRUCTOR_ARGUMENTS_OPTIONNAME = 'dr-on-constructor:arguments';\n\n public static readonly drAttrsOriginName: Attrs = {\n dr: RawSet.DR_NAME,\n drIf: RawSet.DR_IF_NAME,\n drFor: RawSet.DR_FOR_NAME,\n drForOf: RawSet.DR_FOR_OF_NAME,\n drThisProperty: RawSet.DR_THIS_PROPERTY_NAME,\n drAppender: RawSet.DR_APPENDER_NAME,\n drRepeat: RawSet.DR_REPEAT_NAME,\n drThis: RawSet.DR_THIS_NAME,\n drForm: RawSet.DR_FORM_NAME,\n drPre: RawSet.DR_PRE_NAME,\n drInnerHTML: RawSet.DR_INNERHTML_NAME,\n drInnerText: RawSet.DR_INNERTEXT_NAME,\n drItOption: RawSet.DR_IT_OPTIONNAME,\n drVarOption: RawSet.DR_VAR_OPTIONNAME,\n drAfterOption: RawSet.DR_AFTER_OPTIONNAME,\n drNextOption: RawSet.DR_NEXT_OPTIONNAME,\n drBeforeOption: RawSet.DR_BEFORE_OPTIONNAME,\n drCompleteOption: RawSet.DR_COMPLETE_OPTIONNAME,\n drStripElement: RawSet.DR_STRIP_NAME,\n drReplaceTargetElementIs: RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME,\n drStripOption: RawSet.DR_STRIP_OPTIONNAME,\n drIfOption: RawSet.DR_IF_OPTIONNAME,\n drDetectIfOption: RawSet.DR_DETECT_IF_OPTIONNAME,\n drDestroyOption: RawSet.DR_DESTROY_OPTIONNAME,\n drHasKeysOption: RawSet.DR_HAS_KEYS_OPTIONNAME,\n drKeyOption: RawSet.DR_KEY_OPTIONNAME\n };\n\n public static readonly DR_TAGS = [];\n\n // public static readonly DR_REPLACE_ACTION_ATTRIBUTES = [\n // RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME\n // ]\n\n public static readonly DR_ATTRIBUTES = [\n RawSet.DR_NAME,\n RawSet.DR_APPENDER_NAME,\n RawSet.DR_IF_NAME,\n RawSet.DR_FOR_OF_NAME,\n RawSet.DR_THIS_PROPERTY_NAME,\n RawSet.DR_FOR_NAME,\n RawSet.DR_THIS_NAME,\n RawSet.DR_FORM_NAME,\n RawSet.DR_PRE_NAME,\n RawSet.DR_INNERHTML_NAME,\n RawSet.DR_INNERTEXT_NAME,\n RawSet.DR_REPEAT_NAME,\n RawSet.DR_DETECT_NAME,\n RawSet.DR_STRIP_NAME,\n ] as const;\n\n constructor(\n public uuid: string,\n public type: RawSetType,\n public point: {\n start: (Comment | Text | HTMLMetaElement),\n node: Node,\n end: Comment | Text | HTMLMetaElement,\n // thisVariableName?: string | null,\n parent?: Node | null,\n parentRawSet?: RawSet,\n childrenRawSets?: RawSet[]\n },\n public dataSet: {\n config: DomRenderConfig;\n fragment: DocumentFragment,\n render?: Render;\n },\n public detect?: { action: Function },\n ) {\n // point.start.rawSet = this;\n // console.log('rawset constructor->', (this.point.node as Element).getAttributeNames());\n }\n\n get isConnected() {\n // console.log('isConnect???', this, this.point.start.isConnected, this.point.end.isConnected);\n return this.point.start.isConnected && this.point.end.isConnected;\n }\n\n // \uC911\uC694\n getUsingTriggerVariables(config?: DomRenderConfig): Set<string> {\n const usingTriggerVariables = new Set<string>();\n // console.log('------data', this.dataSet)\n this.dataSet.fragment.childNodes.forEach((cNode, key) => {\n // console.log('-----aaaa-data', cNode, key)\n let script = '';\n if (cNode.nodeType === Node.TEXT_NODE) {\n script = `\\`${(cNode as Text).textContent ?? ''}\\``;\n const expressionGroups = RawSet.expressionGroups(script)\n // console.log('???????', script, expressionGroups)\n if (expressionGroups[0].length >1) {\n script = expressionGroups[0][1] as string;\n }\n // console.log('--', expressionGroups, script)\n } else if (cNode.nodeType === Node.ELEMENT_NODE) {\n const element = cNode as Element;\n const targetAttrNames = (config?.targetAttrs?.map(it => it.name) ?? [])\n .concat(RawSet.DR_ATTRIBUTES, RawSet.DR_DETECT_FILTER_OPTIONNAME, RawSet.DR_DETECT_IF_OPTIONNAME, RawSet.DR_DETECT_ATTR_OPTIONNAME); // .concat(EventManager.normalAttrMapAttrName);\n const targetScripts = targetAttrNames.map(it => element.getAttribute(it)).filter(it => it).map(it=>`(${it})`);\n const targetAttrMap = element.getAttribute(EventManager.normalAttrMapAttrName);\n // console.log('targetAttrMap-->', targetAttrMap)\n if (targetAttrMap) {\n new Map<string, string>(JSON.parse(targetAttrMap)).forEach((v, k) => {\n targetScripts.push(`(${v})`);\n });\n }\n // console.log('targetScriptstargetScripts', targetScripts)\n script = targetScripts.join(';');\n // script = targetScripts.map(it=>`try{${it}}catch(e){}`).join(';');\n\n // attribute\uCABD \uCCB4\uD06C\uD558\uB294\uAC70 \uCD94\uAC00\n // console.log('----!!!!!-->', targetAttrNames)\n // const otherAttrs = element.getAttributeNames()\n // .filter(it => !targetAttrNames.includes(it.toLowerCase()) && RawSet.isExporesion(element.getAttribute(it)))\n // .map(it => {\n // return `\\`${element.getAttribute(it) ?? ''}\\``;\n // }).join(';');\n // script += ';' + otherAttrs\n }\n if (script) {\n\n // console.log('------1-',script)\n script = script.replace(/#[^#]*#/g, '({})');\n // console.log('------2-',script)\n // script = script.replace('}$','}');\n // script = script.replace('@this@','this');\n // console.log('----------->', script)\n\n // TODO: \uD6D4.. \uAF2D\uD544\uC694\uD55C\uAC00..? \uD2B8\uB9AC\uAC70\uB420\uB54C \uC2A4\uD06C\uB9BD\uD2B8\uBCC0\uC218 \uAE4C\uC9C0 \uAC10\uC9C0\uD574\uC57C\uB420\uAE4C?\n EventManager.VARNAMES.forEach(it => {\n // script = script.replace(RegExp(it.replace('$', '\\\\$'), 'g'), `this?.___${it}`);\n // script = script.replace(RegExp(it.replace('$', '\\\\$'), 'g'), `this.___${it}`);\n script = script.replace(RegExp(it.replace('$', '\\\\$'), 'g'), `this.___${it}`);\n // console.log('scripts-->', script)\n });\n // console.log('--------1--', script);\n // script = script.replaceAll('#{','${').replaceAll('}#', '}')\n // console.log('--------2--', script);\n // TODO: \uD6D4.. \uAF2D\uD544\uC694\uD55C\uAC00..? \uD2B8\uB9AC\uAC70\uB420\uB54C \uC2A4\uD06C\uB9BD\uD2B8\uBCC0\uC218 \uAE4C\uC9C0 \uAC10\uC9C0\uD574\uC57C\uB420\uAE4C?\n Array.from(ObjectUtils.Path.detectPathFromScript(script,{excludeThis: true})).filter(it => !it.startsWith(`___${EventManager.SCRIPTS_VARNAME}`)).forEach(it => usingTriggerVariables.add(it));\n }\n });\n // console.log('usingTriggerVariable----------->', usingTriggerVariables)\n return usingTriggerVariables;\n }\n\n // \uC911\uC694 render \uCC98\uB9AC \uBD80\uBD84\n public async render(obj: any, config: DomRenderConfig): Promise<RawSet[]> {\n // console.log('render!!!!!!!!!!!!!!')\n const genNode = config.window.document.importNode(this.dataSet.fragment, true);\n const raws: RawSet[] = [];\n const onAttrInitCallBacks: AttrInitCallBack[] = [];\n const onElementInitCallBacks: ElementInitCallBack[] = [];\n const onThisComponentSetCallBacks: ComponentSet[] = [];\n const drAttrs: Attrs[] = [];\n // console.log('rawSet render!!', obj, config, this, Array.from(genNode.childNodes.values()));\n for (const cNode of Array.from(genNode.childNodes.values())) {\n // console.log('cNodecNodecNode', cNode);\n let attribute = {};\n if (cNode.nodeType === Node.ELEMENT_NODE) {\n attribute = ElementUtils.getAttributeToObject(cNode as Element);\n }\n\n const __render = Object.freeze({\n rawSet: this,\n scripts: EventManager.setBindProperty(config?.scripts, obj),\n router: config?.router,\n range: Range.range,\n element: cNode,\n attribute: attribute,\n rootObject: obj,\n scriptUtils: ScriptUtils,\n nearThis: this.findNearThis(obj),\n parentThis: this.findParentThis(obj),\n bindScript: ` /** render **/\n const ${EventManager.SCRIPTS_VARNAME} = this.__render.scripts;\n const ${EventManager.RAWSET_VARNAME} = this.__render.rawSet;\n const ${EventManager.ELEMENT_VARNAME} = this.__render.element;\n const ${EventManager.ATTRIBUTE_VARNAME} = this.__render.attribute;\n const ${EventManager.RANGE_VARNAME} = this.__render.range;\n const ${EventManager.ROUTER_VARNAME} = this.__render.router;\n const ${EventManager.NEAR_THIS_VARNAME} = this.__render.nearThis;\n const ${EventManager.PARENT_THIS_VARNAME} = this.__render.parentThis;\n const ${EventManager.SCRIPT_UTILS_VARNAME} = this.__render.scriptUtils;\n const ${EventManager.ROOT_OBJECT_VARNAME} = this.__render.rootObject;\n `\n }) as unknown as Render;\n\n\n // const normalAttribute = attribute[EventManager.normalAttrMapAttrName];\n // if (normalAttribute) {\n // new Map<string, string>(JSON.parse(normalAttribute)).forEach((v, k) => {\n // const cval = ScriptUtils.evalReturn({ bodyScript: __render.bindScript, returnScript: v }, Object.assign(obj, { __render: __render }));\n // console.log('-----------',v,k, cval);\n // attribute[v] = cval;\n // });\n // }\n\n\n const fag = config.window.document.createDocumentFragment();\n if (cNode.nodeType === Node.TEXT_NODE && cNode.textContent) {\n // console.log('text-->', this, obj, config, cNode.textContent);\n // console.log('text-->', Array.from(this.fragment.childNodes))\n const textContent = cNode.textContent;\n const runText = RawSet.expressionGroups(textContent)[0][1];\n // console.log('--->', RawSet.exporesionGrouops(textContent), textContent,runText, runText[0][1])\n let newNode: Node;\n if (textContent?.startsWith('#')) {\n const r = ScriptUtils.evaluate(`${__render.bindScript} return ${runText}`, Object.assign(obj, {__render}));\n const template = config.window.document.createElement('template') as HTMLTemplateElement;\n template.innerHTML = r;\n newNode = template.content;\n } else {\n const r = ScriptUtils.evaluate(`${__render.bindScript} return ${runText}`, Object.assign(obj, {__render}));\n newNode = config.window.document.createTextNode(r);\n }\n cNode.parentNode?.replaceChild(newNode, cNode);\n // console.log('-------', this.point.start.parentNode.nodeName)\n // \uC911\uC694 style value change \uB410\uC744\uB54C \uB2E4\uC2DC \uCC98\uB9AC\uD574\uC57C\uB418\uAE30\uB584\uBB38\uC5D0: \uB9C8\uC9C0\uB9C9\uC5D0 completed \uC5C6\uB294 attr \uAC00\uC9C0\uACE0 \uD310\uB2E8 \uD558\uB2C8\uAE50\n if (this.type === RawSetType.STYLE_TEXT && this.point.parent) {\n (this.point.parent as Element).removeAttribute('completed');\n }\n } else if (cNode.nodeType === Node.ELEMENT_NODE) {\n const element = cNode as Element;\n // console.log('target-->', element)\n const drAttr:Attrs = {\n dr: this.getAttributeAndDelete(element, RawSet.DR_NAME),\n drIf: this.getAttributeAndDelete(element, RawSet.DR_IF_NAME),\n drFor: this.getAttributeAndDelete(element, RawSet.DR_FOR_NAME),\n drForOf: this.getAttributeAndDelete(element, RawSet.DR_FOR_OF_NAME),\n drThisProperty: this.getAttributeAndDelete(element, RawSet.DR_THIS_PROPERTY_NAME),\n drAppender: this.getAttributeAndDelete(element, RawSet.DR_APPENDER_NAME),\n drRepeat: this.getAttributeAndDelete(element, RawSet.DR_REPEAT_NAME),\n drThis: this.getAttributeAndDelete(element, RawSet.DR_THIS_NAME),\n drForm: this.getAttributeAndDelete(element, RawSet.DR_FORM_NAME),\n drPre: this.getAttributeAndDelete(element, RawSet.DR_PRE_NAME),\n drInnerHTML: this.getAttributeAndDelete(element, RawSet.DR_INNERHTML_NAME),\n drInnerText: this.getAttributeAndDelete(element, RawSet.DR_INNERTEXT_NAME),\n drStripElement: this.getAttributeAndDelete(element, RawSet.DR_STRIP_NAME),\n drReplaceTargetElementIs: this.getAttributeAndDelete(element, RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME),\n drItOption: this.getAttributeAndDelete(element, RawSet.DR_IT_OPTIONNAME),\n drIfOption: this.getAttributeAndDelete(element, RawSet.DR_IF_OPTIONNAME),\n drVarOption: this.getAttributeAndDelete(element, RawSet.DR_VAR_OPTIONNAME),\n drNextOption: this.getAttributeAndDelete(element, RawSet.DR_NEXT_OPTIONNAME),\n drAfterOption: this.getAttributeAndDelete(element, RawSet.DR_AFTER_OPTIONNAME),\n drBeforeOption: this.getAttributeAndDelete(element, RawSet.DR_BEFORE_OPTIONNAME),\n drCompleteOption: this.getAttributeAndDelete(element, RawSet.DR_COMPLETE_OPTIONNAME),\n drStripOption: this.getAttributeAndDelete(element, RawSet.DR_STRIP_OPTIONNAME),\n drDestroyOption: this.getAttributeAndDelete(element, RawSet.DR_DESTROY_OPTIONNAME),\n drKeyOption: this.getAttributeAndDelete(element, RawSet.DR_KEY_OPTIONNAME),\n drDetectIfOption: this.getAttribute(element, RawSet.DR_DETECT_IF_OPTIONNAME),\n drHasKeysOption: this.getAttribute(element, RawSet.DR_HAS_KEYS_OPTIONNAME),\n };\n drAttrs.push(drAttr);\n // \uC544\uB798 \uC21C\uC11C \uC911\uC694\n const operators = [\n new DrPre(this, __render, {raws, fag}, {element, attrName: RawSet.DR_PRE_NAME, attr: drAttr.drPre, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drPre}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new Dr(this, __render, {raws, fag}, {element, attrName: RawSet.DR_NAME, attr: drAttr.dr, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.dr}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n // new Dr(this, __render, {raws, fag}, {element, attrName: EventManager.onRenderedInitAttrName, attr: drAttr.dr, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.dr}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrIf(this, __render, {raws, fag}, {element, attrName: RawSet.DR_IF_NAME, attr: drAttr.drIf, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drIf}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrStripElement(this, __render, {raws, fag}, {element, attrName: RawSet.DR_STRIP_NAME, attr: drAttr.drStripElement, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drThis}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrThis(this, __render, {raws, fag}, {element, attrName: RawSet.DR_THIS_NAME, attr: drAttr.drThis, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drThis}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrForm(this, __render, {raws, fag}, {element, attrName: RawSet.DR_FOR_NAME, attr: drAttr.drForm, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drForm}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrInnerText(this, __render, {raws, fag}, {element, attrName: RawSet.DR_INNERTEXT_NAME, attr: drAttr.drInnerText, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drInnerText}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrInnerHTML(this, __render, {raws, fag}, {element, attrName: RawSet.DR_INNERHTML_NAME, attr: drAttr.drInnerHTML, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drInnerHTML}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrFor(this, __render, {raws, fag}, {element, attrName: RawSet.DR_FOR_NAME, attr: drAttr.drFor, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drFor}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrForOf(this, __render, {raws, fag}, {element, attrName: RawSet.DR_FOR_OF_NAME, attr: drAttr.drForOf, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drForOf}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrThisProperty(this, __render, {raws, fag}, {element, attrName: RawSet.DR_THIS_PROPERTY_NAME, attr: drAttr.drThisProperty, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drThisProperty}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrAppender(this, __render, {raws, fag}, {element, attrName: RawSet.DR_APPENDER_NAME, attr: drAttr.drAppender, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drAppender}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrRepeat(this, __render, {raws, fag}, {element, attrName: RawSet.DR_REPEAT_NAME, attr: drAttr.drRepeat, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drRepeat}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrTargetElementIsElement(this, __render, {raws, fag}, {element, attrName: RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME, attr: drAttr.drReplaceTargetElementIs, attrs: drAttr}, {config, obj}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrTargetElement(this, __render, {raws, fag}, {element, attrs: drAttr}, {config, obj}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrTargetAttr(this, __render, {raws, fag}, {element, attrs: drAttr}, {config, obj}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n ];\n\n for (const operator of operators) {\n const state = await operator.start();\n if (state === ExecuteState.EXECUTE) {\n break;\n } else if (state === ExecuteState.STOP) {\n return raws;\n }\n }\n }\n }\n\n this.point.childrenRawSets = raws;\n raws.forEach(it => {\n it.point.parentRawSet = this;\n });\n\n // console.log('pppppppppppppp', this);\n\n\n // replaceBody\uC640 applyEvent \uC21C\uC11C\uB97C \uBC14\uAFE8\uB2E4 20250511\n const childrenNodes = Array.from(genNode.childNodes);\n this.applyEvent(obj, genNode, config);\n this.replaceBody(genNode); // \uC911\uC694 \uC5EC\uAE30\uC11C \uB9C8\uC9C0\uB9C9\uC5D0 \uC5F0\uC158\uB41C \uAC12\uC744 \uADF8\uB824\uC900\uB2E4.\n // console.log('rawSEt!!!!!!!', obj,childrenNodes,config)\n // console.log('rawSEt!!!!!!!', obj, this.findNearThis(obj),childrenNodes,config)\n // console.log('rawSEt!!!!!!!', obj, drAttrs)\n this.onRenderedEvent(obj, childrenNodes, config);\n\n drAttrs.forEach(it => {\n if (it.drCompleteOption) {\n // genNode.childNodes\n const render = Object.freeze({\n rawSet: this,\n fag: genNode,\n scripts: EventManager.setBindProperty(config?.scripts, obj)\n } as Render);\n ScriptUtils.evaluate(`\n const ${EventManager.FAG_VARNAME} = this.__render.fag;\n const ${EventManager.SCRIPTS_VARNAME} = this.__render.scripts;\n const ${EventManager.RAWSET_VARNAME} = this.__render.rawSet;\n ${it.drCompleteOption}`, Object.assign(obj, {__render: render}));\n }\n });\n\n\n // \uC911\uC694 style isolation \uB098\uC911\uC5D0 :scope\uB85C \uB300\uCCB4 \uAC00\uB2A5\uD560\uB4EF.\n // 2023.9.4\uC77C \uC5C6\uC570 style \uCC98\uC74C\uB4E4\uC5B4\uC62C\uB54C \uCC98\uB9AC\uD558\uB294\uAC78\uB85C \uBC14\uAFC8\n // RawSet.generateStyleSheetsLocal(config);\n for (const it of onThisComponentSetCallBacks) {\n if (isOnInitRender(it.obj)) {\n it.obj?.onInitRender?.({}, this);\n }\n }\n for (const it of onElementInitCallBacks) {\n if (isOnInitRender(this.dataSet.render?.currentThis)) {\n // TODO: \uB098\uC911\uC5D0 \uD30C\uB77C\uBBF8\uD130 \uB4E4\uC5B4\uAC00\uC57C\uB420\uB4EF. \uC9C0\uAE08\uC740 \uB9AC\uD329\uD1A0\uB9C1\uD558\uB290\uB77C \uBE60\uC9D0\n // console.log('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!', it, this.dataSet);\n // dr-on-init:arguments\n\n // if (isOnInitRender()) {\n // it.targetElement.__render.component.onInitRender?.(...param);\n // }\n // if (it.targetElement?.__render?.element && it.targetElement?.__render?.component) {\n // const oninit = it.targetElement.__render.element.getAttribute(RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME); // dr-on-component-init\n // let param = [];\n // if (oninit) {\n // const script = `${it.targetElement.__render.renderScript} return ${oninit} `;\n // param = ScriptUtils.eval(script, Object.assign(obj, {\n // __render: it.targetElement.__render\n // }));\n // if (!Array.isArray(param)) {\n // param = [param];\n // }\n // }\n //\n // if (isOnInitRender(it.targetElement.__render.component)) {\n // it.targetElement.__render.component.onInitRender?.(...param);\n // }\n // }\n this.dataSet.render.currentThis.onInitRender({}, this);\n }\n\n\n config?.onElementInit?.(it.name, obj, this, it.targetElement);\n }\n\n // TODO: \uC774\uBD80\uBD84\uB3C4 \uC704\uC5D0 targetElement \uCC98\uB7FC \uD574\uC57C\uB420\uAE4C?\n for (const it of onAttrInitCallBacks) {\n config?.onAttrInit?.(it.attrName, it.attrValue, obj, this);\n }\n\n // component destroy\n if (obj.__domrender_components) {\n Object.entries(obj.__domrender_components).forEach(([key, value]) => {\n const rawSet = (value as any).__rawSet as RawSet;\n const drAttrs: Attrs | undefined = rawSet?.dataSet.render?.attribute;\n if (rawSet && !rawSet.isConnected) {\n const destroyOptions = drAttrs?.drDestroyOption?.split(',') ?? [];\n RawSet.destroy(obj.__domrender_components[key], {rawSet: rawSet}, config, destroyOptions);\n delete obj.__domrender_components[key];\n }\n });\n }\n // console.log('-------raws',raws)\n return raws;\n }\n\n\n // \uC911\uC694 \uC2A4\uD0C0\uC77C \uC801\uC6A9 \uBD80\uBD84\n private static generateRuleSelector(start: string, end: string, sit: string) {\n const selectorText = `:is(${start} ~ *:not(${start} ~ ${end} ~ *))`;\n if (sit.startsWith('## ')) {\n return sit.replace(/^## /, '');\n } else if (sit.startsWith('.')) {\n return `${selectorText}${sit}, ${selectorText} ${sit}`;\n } else if (sit.includes('::')) {\n const reg = sit.match(/(.*)::(.*)$/);\n const first = reg?.[1];\n const extracted = reg?.[2];\n const divText = `${start} ~ ${first}:not(${start} ~ ${end} ~ *)`;\n return `${selectorText} ${first}, ${divText}::${extracted}`;\n } else {\n const divText = `${start} ~ ${sit}:not(${start} ~ ${end} ~ *)`;\n return `${selectorText} ${sit}, ${divText}`;\n }\n }\n\n public static generateStyleTransform(styleBody: string | string[], componentKey: string, styleTagWrap = true) {\n // console.log('style!!!!!!!!!!!!!!!!1', styleBody, componentKey, styleTagWrap);\n if (Array.isArray(styleBody)) {\n styleBody = styleBody.join('\\n');\n }\n styleBody = styleBody.replaceAll('#uuid#', componentKey);\n const start = `#${componentKey}-start`;\n const end = `#${componentKey}-end`;\n // \uC774\uAC70\uBB50\uD558\uB294\uC9C0 \uAE4C\uBA39\uC5C8\uB124 \uBB50\uC600\uC9C0??..\n // \uB3D9\uC801\uC73C\uB85C \uCC98\uB9AC\uD558\uB294\uAC83\uAC19\uC740\uB370.. css \uC5D0\uC11C\uB294 \uB3D9\uC801\uC73C\uB85C \uCC98\uB9AC\uD558\uB294\uAC78 \uC9C0\uD5A5 \uD574\uC57C\uB420\uAC83\uAC19\uC740\uB370 \uC774\uAE30\uB2A5 deprecated \uD560\uC9C0 \uACE0\uBBFC\uC911\n // const before = StringUtils.regexExecArrayReplace(styleBody, /(\\$\\{.*?\\}\\$)/g, (data) => {\n // // console.log('\uB3D9\uC801?', `var(--domrender-${data[0]})`)\n // return `var(--domrender-${data[0]})`;\n // });\n // const before = styleBody;\n // console.log('before@@@@@@@@@@@', before)\n const cssParser = new CssParser(styleBody);\n \n const processRule = (rule: CssRule) => {\n if (isStyleRule(rule)) {\n const isRoot = rule.selector.includes(':root');\n if (!isRoot) {\n // Handle comma-separated selectors\n const selectors = rule.selector.split(',').map(s => s.trim());\n const transformedSelectors = selectors.map(selector => \n this.generateRuleSelector(start, end, selector)\n );\n rule.selector = transformedSelectors.join(', ');\n }\n } else if (isAtRule(rule)) {\n if (rule.name === 'media') {\n const hasRoot = rule.children.some(childRule => \n isStyleRule(childRule) && childRule.selector.includes(':root')\n );\n if (!hasRoot) {\n rule.children.forEach(childRule => {\n if (isStyleRule(childRule)) {\n const selectors = childRule.selector.split(',').map(s => s.trim());\n const transformedSelectors = selectors.map(selector => \n this.generateRuleSelector(start, end, selector)\n );\n childRule.selector = transformedSelectors.join(', ');\n }\n });\n }\n }\n }\n };\n\n cssParser.rules.forEach(processRule);\n \n let after = cssParser.stringify();\n // let after = StringUtils.regexExecArrayReplace(stringify as string, /(var\\(--domrender-(\\$\\{.*?\\}\\$)?\\))/g, (data) => {\n // return data[2];\n // });\n // console.log('after@@@@@@@@@@@', after)\n\n // \uC5EC\uAE30\uC11C \uC120\uC5B8 selector \uC790\uCCB4\uC5D0\uB3C4 \uCC98\uB9AC\uAC00\uB2A5\uD558\uB3C4\uB85D \uD55C\uB2E4 20250518\n after = after.replaceAll('/*$', '${')\n after = after.replaceAll('$*/', '}$')\n\n\n if (styleTagWrap) {\n styleBody = `<style id='${componentKey}-style' domstyle>${after}</style>`;\n }\n\n // console.log('style!!!!!!!!!!!!!!2', styleBody);\n return styleBody;\n }\n\n public applyEvent(obj: any, fragment = this.dataSet.fragment, config?: DomRenderConfig) {\n this.dataSet.config.eventManager.applyEvent(obj, this.dataSet.config.eventManager.findAttrElements(fragment, config), config);\n }\n\n public onRenderedEvent(obj: any, nodes: Node[], config?: DomRenderConfig) {\n this.dataSet.config.eventManager.onRenderedEvent(obj, nodes, config);\n }\n\n public getAttribute(element: Element, attr: string) {\n const data = element.getAttribute(attr);\n return data;\n }\n\n public getAttributeAndDelete(element: Element, attr: string) {\n const data = element.getAttribute(attr);\n // if (data)\n // element.setAttribute(`origin-${attr}`, data);\n\n element.removeAttribute(attr);\n return data;\n }\n\n public getDrAppendAttributeAndDelete(element: Element, obj: any) {\n let data = element.getAttribute(RawSet.DR_APPENDER_NAME);\n // if (data && !/\\[[0-9]+\\]/g.test(data)) {\n if (data && !/\\[.+\\]/g.test(data)) {\n const currentIndex = ScriptUtils.evaluateReturn(`${ObjectUtils.Path.toOptionalChainPath(data)}?.length -1`, obj);\n // console.log('------?', currentIndex)\n // if (currentIndex === undefined || isNaN(currentIndex)) {\n // return undefined;\n // }\n // const currentIndex = ScriptUtils.evalReturn(`${data}.length`, obj);\n data = `${data}[${currentIndex}]`;\n element.setAttribute(RawSet.DR_APPENDER_NAME, data);\n // element.setAttribute(RawSet.DR_IF_NAME, data);\n // element.setAttribute('dr-id', data);\n // console.log('-->', element)\n }\n\n // if (data && !/\\.childs\\[[0-9]+\\]/g.test(data)) {\n // const currentIndex = ScriptUtils.evalReturn(`${data}.currentIndex`, obj);\n // data = `${data}.childs[${currentIndex}]`;\n // element.setAttribute(RawSet.DR_APPENDER_NAME, data)\n // }\n element.removeAttribute(RawSet.DR_APPENDER_NAME);\n return data;\n }\n\n public replaceBody(genNode: Node) {\n this.childAllRemove();\n this.point.start.parentNode?.insertBefore(genNode, this.point.start.nextSibling); // \uC911\uC694 start checkpoint \uB2E4\uC74C\uC778 end checkpoint \uC55E\uC5D0 \uB123\uB294\uB2E4. \uC989 \uC911\uAC04 \uAEF4\uB123\uAE30 (\uB098\uC911\uC5D0 meta tag\uB85C \uBCC0\uACBD\uC744 \uD574\uB3C4\uB420\uB4EF\uD558\uAE34\uD55C\uB370..)\n }\n\n // \uC911\uC694 important\n public static checkPointCreates(element: Node, obj: any, config: DomRenderConfig): RawSet[] {\n // console.log('!@@@@@@@@@@@@@@@@', obj);\n // const NodeFilter = (config.window as any).NodeFilter;\n // const thisVariableName = (element as any).__domrender_this_variable_name;\n // console.log('thisVariableName---', thisVariableName);\n const nodeIterator = config.window.document?.createNodeIterator(element, NodeFilter.SHOW_ALL, {\n acceptNode(node) {\n // console.log('nodeType', node.nodeType, (node as any).tagName, (node as any).data);\n if (node.nodeType === Node.TEXT_NODE) {\n // console.log('text--->', node.textContent)\n // console.log('????????', node.parentElement, node.parentElement?.getAttribute('dr-pre'));\n // console.log('???????/',node.textContent, node.parentElement?.getAttribute('dr-pre'))\n // TODO: \uB098\uC911\uC5D0\n // const between = StringUtils.betweenRegexpStr('[$#]\\\\{', '\\\\}', StringUtils.deleteEnter((node as Text).data ?? ''))\n const between = RawSet.expressionGroups(StringUtils.deleteEnter((node as Text).data ?? ''));\n // console.log('bbbb', between)\n return between?.length > 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;\n // return /\\$\\{.*?\\}/g.test(StringUtils.deleteEnter((node as Text).data ?? '')) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;\n // return /[$#]\\{.*?\\}/g.test(StringUtils.deleteEnter((node as Text).data ?? '')) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;\n } else if (node.nodeType === Node.ELEMENT_NODE) {\n const element = node as Element;\n if (element.hasAttribute(RawSet.DR_PRE_NAME)) {\n return NodeFilter.FILTER_REJECT;\n }\n if (element.hasAttribute(EventManager.attrAttrName)) {\n const script = element.getAttribute(EventManager.attrAttrName) ?? '';\n // console.log('scriptscriptscriptscriptscriptscript,', script)\n const keyValuePairs = Array.from(script.matchAll(/(\\w+):\\s*([^,}]+)/g)).map(match => ({key: match[1], value: match[2]}));\n (keyValuePairs ?? []).forEach(it => {\n element.setAttribute(it.key, '${' + it.value + '}$')\n })\n // console.log('-------k', keyValuePairs)\n\n // const drAttr = ScriptUtils.evalReturn(script, obj)\n // Object.entries(drAttr).forEach(([key, value]) => {\n // const keyValuePairs = Array.from(a.matchAll(/(\\w+):\\s*([^,}]+)/g)).map(match => ({ key: match[1], value: match[2] }));\n // console.log(keyValuePairs);\n // // \uCD9C\uB825: [{ key: 'value', value: 'this.child.obj.name' }, { key: 'wow', value: 'this.ww' }, { key: 'zz', value: '22' }, { key: 'v', value: '\"ee\"' }]\n //\n // console.log('-----------------', key,value)\n // element.setAttribute(key, '${'+(value)+'}$');\n // })\n // EventManager.attrNames.filter(it => it in drAttr).forEach(it => {\n // if (drAttr[it] === null) {\n // element.removeAttribute(it);\n // } else {\n // element.setAttribute(it, drAttr[it]);\n // }\n // })\n // console.log('-------->', Array.from(element.attributes), element.getAttribute('dr-attr'), obj)\n }\n // element.setAttribute('dr-event-click', 'console.log(11)');\n const targetElementIs = element.getAttribute(RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME);\n const targetElementNames = config.targetElements?.map(it => it.name.toLowerCase()) ?? [];\n const isElement = targetElementNames.includes(element.tagName.toLowerCase()) || targetElementNames.includes(targetElementIs?.toLowerCase() as any);\n // if (isElement) {\n // (element as HTMLElement).style.display = 'none';\n // (element as HTMLElement).style.width = '100px';\n // (element as HTMLElement).style.height = '100px';\n // console.log((element as HTMLElement).outerHTML)\n // }\n // console.log('------targetElementIstargetElementIs>', targetElementNames, '---', isElement, targetElementIs);\n // const targetAttrNames = (config.targetAttrs?.map(it => it.name) ?? []).concat([...RawSet.DR_ATTRIBUTES,...EventManager.RAWSET_CHECK_ATTRIBUTE]);\n const targetAttrNames = (config.targetAttrs?.map(it => it.name) ?? []).concat([...RawSet.DR_ATTRIBUTES]);\n const normalAttrs = new Map<string, string>();\n const linkVariables = new Map<string, string>();\n const linkNames = EventManager.linkAttrs.map(it => it.name);\n const isAttr = element.getAttributeNames().filter(it => {\n const value = element.getAttribute(it);\n\n // link\uC77C\uB54C\n if (value && linkNames.includes(it)) {\n linkVariables.set(it, value);\n } else if (value && RawSet.isExpression(value)) { // \uD45C\uD604\uC2DD\uC788\uC744\uB584\n let variablePath: string = RawSet.expressionGroups(value)[0][1];\n // console.log('0-----',variablePath, node);\n // normal Attribute \uCD08\uBC18\uC5D0 \uC14B\uD305\uD574\uC8FC\uAE30.\n // TODO: \uC774\uAC70 \uD558\uAE34\uD588\uB294\uB370 \uC0AC\uC774\uB4DC \uC774\uD329\uD2B8?\n const originVariable = variablePath\n variablePath = variablePath.replace(/#[^#]*#/g, '({})');\n // console.log('1-----',variablePath, node);\n const optionalChainPath = ObjectUtils.Path.toOptionalChainPath(variablePath);\n // console.log('2-----',optionalChainPath);\n const cval = ScriptUtils.evaluateReturn(optionalChainPath, Object.assign(obj));\n // const cval = ScriptUtils.evalReturn(variablePath, Object.assign(obj));\n if (cval === null) {\n element.removeAttribute(it);\n } else {\n element.setAttribute(it, cval);\n }\n normalAttrs.set(it, originVariable);\n // console.log('normalAttribute', it, variablePath);\n }\n // console.log(element.getAttribute(it), attrExpresion);\n const isTargetAttr = targetAttrNames.includes(it.toLowerCase());\n return isTargetAttr;\n }).length > 0;\n\n if (linkVariables.size) {\n element.setAttribute(EventManager.linkTargetMapAttrName, JSON.stringify(Array.from(linkVariables.entries())));\n }\n // \uAE30\uBCF8 attribute\uB97C \uCC98\uB9AC\uD558\uAE30\uC704\uD574\n if (normalAttrs.size) {\n element.setAttribute(EventManager.normalAttrMapAttrName, JSON.stringify(Array.from(normalAttrs.entries())));\n }\n // if (isElement) {\n // element.setAttribute('www', '@this@');\n // }\n const r = (isAttr || isElement) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;\n return r;\n }\n return NodeFilter.FILTER_REJECT;\n }\n });\n const pars: RawSet[] = [];\n let currentNode: Node | null;\n // eslint-disable-next-line no-cond-assign\n while (currentNode = nodeIterator?.nextNode()) {\n if (currentNode.nodeType === Node.TEXT_NODE) {\n const text = (currentNode as Text).textContent ?? '';\n const template = config.window.document?.createElement('template');\n if (!template) break;\n // const a = StringUtils.regexExec(/\\$\\{.*?\\}/g, text);\n // const a = StringUtils.regexExec(/[$#]\\{.*?\\}/g, text);\n // const a = StringUtils.betweenRegexpStr('[$#]\\\\{', '\\\\}', text); // <--TODO: \uB098\uC911\uC5D0..\n const groups = RawSet.expressionGroups(text);\n const map = groups.map(it => ({uuid: `${RandomUtils.alphabet(40)}_${obj?.constructor?.name}`, content: it[0], regexArr: it}));\n let lasterIndex = 0;\n for (let i = 0; i < map.length; i++) {\n const it = map[i];\n // console.log('itttttttttttt', it);\n const regexArr = it.regexArr;\n // \uC911\uC694: text\uACBD\uC6B0 asdasd ${this.name}$ \uC774\uB807\uAC8C \uC788\uB2E4\uBA74 \uC55E\uBD80\uBD84 asdasd <-- \uC774\uBD80\uBD84\uC740 \uC0B4\uB824\uC57C\uB418\uB2C8\uAE50 \uC544\uB798\uCC98\uB7FC \uC9DC\uB984\n const preparedText = regexArr.input.substring(lasterIndex, regexArr.index);\n // const preparedText = regexArr[1];\n // const start = config.window.document.createElement('meta');\n // start.setAttribute('id', `${it.uuid}-start`);\n // const end = config.window.document.createElement('meta');\n // end.setAttribute('id', `${it.uuid}-end`);\n let type: RawSetType;\n if (currentNode.parentNode && currentNode.parentNode.nodeName.toUpperCase() === 'STYLE') {\n type = RawSetType.STYLE_TEXT;\n } else {\n type = RawSetType.TEXT;\n }\n const node = document.createTextNode(preparedText);\n const startEndPoint = RawSet.createStartEndPoint({id: it.uuid, type}, config);\n // layout setting\n // console.log('createTextNode', node);\n template.content.append(node); // expression \uC55E \uBD80\uBD84 \uB123\uC5B4\uC918\uC57C \uC55E\uBD80\uBD84 \uC77C\uBC18 text \uC548\uC9E4\uB9B0\uB2E4.\n template.content.append(startEndPoint.start); // add start checkpoint\n template.content.append(startEndPoint.end); // add end checkpoint\n\n // content \uC548\uCABD RawSet render \uD560\uB54C start \uC640 end \uC0AC\uC774\uC5D0 fragment \uC5F0\uC0B0\uD574\uC11C \uB4E4\uC5B4\uAC04\uB2E4.\n const fragment = config.window.document.createDocumentFragment();\n fragment.append(config.window.document.createTextNode(it.content));\n // (startEndPoint.start as any).khh = RandomUtils.decimal(0,10)\n pars.push(new RawSet(it.uuid, type, {\n start: startEndPoint.start,\n node: currentNode,\n end: startEndPoint.end,\n parent: currentNode.parentNode,\n // thisVariableName: thisVariableName\n }, {fragment: fragment, config: config}));\n lasterIndex = regexArr.index + it.content.length;\n }\n template.content.append(config.window.document.createTextNode(text.substring(lasterIndex, text.length)));\n currentNode?.parentNode?.replaceChild(template.content, currentNode); // <-- \uC5EC\uAE30\uC11C text\uB97C fragment\uB85C replace\uD588\uAE30\uB54C\uBB38\uC5D0 \uCD94\uC801 \uBCC0\uACBD\uC774 \uAC00\uB2A5\uD558\uB2E4.\n } else if (currentNode.nodeType === Node.ELEMENT_NODE) {\n // const uuid = `${RandomUtils.alphabet(40)}___${obj?.constructor?.name}`;\n const uuid = `${RandomUtils.alphabet(40)}`;\n const element = currentNode as Element;\n const fragment = config.window.document.createDocumentFragment();\n const elementType: RawSetType = RawSetType.TARGET_ELEMENT;\n const startEndPoint = RawSet.createStartEndPoint({node: element, id: uuid, type: elementType}, config);\n // \uC5EC\uAE30\uC11C \uB4F1\uB85D\uD55C component \uCD94\uAC00\uD55C\uB2E4.\n const targetElementIs = element.getAttribute(RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME);\n const targetElementNames = config.targetElements?.map(it => it.name.toLowerCase()) ?? [];\n const isElement = targetElementNames.includes(element.tagName.toLowerCase()) || targetElementNames.includes(targetElementIs?.toLowerCase() as any);\n // if (isElement) {\n // (element as HTMLElement).style.display = 'none'\n // }\n // const isElement = targetElementNames.includes(element.tagName.toLowerCase());\n const targetAttrNames = (config.targetAttrs?.map(it => it.name) ?? []).concat(RawSet.DR_ATTRIBUTES);\n const isAttr = element.getAttributeNames().filter(it => targetAttrNames.includes(it.toLowerCase())).length > 0;\n currentNode?.parentNode?.insertBefore(startEndPoint.start, currentNode);\n currentNode?.parentNode?.insertBefore(startEndPoint.end, currentNode.nextSibling);\n fragment.append(currentNode);\n // const tempDiv = document.createElement('div');\n // tempDiv.appendChild(fragment.cloneNode(true)); // fragment \uBCF5\uC0AC\uBCF8 \uCD94\uAC00\n // console.log('------',tempDiv.innerHTML);\n // console.log();\n const rawSet = new RawSet(uuid, isElement ? elementType : (isAttr ? RawSetType.TARGET_ATTR : RawSetType.UNKOWN), {\n start: startEndPoint.start,\n node: currentNode,\n end: startEndPoint.end,\n parent: currentNode.parentNode,\n // thisVariableName: thisVariableName\n }, {config: config, fragment: fragment});\n pars.push(rawSet);\n }\n }\n // console.log('parsparsparsparsparsparsparsparsparspars', pars);\n return pars;\n }\n\n public static createStartEndPoint(data: { node?: Node, id: string, type: RawSetType }, config: DomRenderConfig) {\n if (data.type === RawSetType.TARGET_ELEMENT && data.node) {\n const element = data.node as Element;\n const start: HTMLMetaElement = config.window.document.createElement('meta');\n const end: HTMLMetaElement = config.window.document.createElement('meta');\n start.setAttribute('id', `${data.id}-start`);\n start.setAttribute('dr-start-point', '');\n const keys = element.getAttribute(RawSet.DR_KEY_OPTIONNAME);\n const thisPropertyType = element.getAttribute(RawSet.DR_THIS_PROPERTY_NAME);\n if (thisPropertyType) {\n start.setAttribute('type', RawSetOperatorType.DR_THIS_PROPERTY);\n }\n if (keys) {\n element.removeAttribute(RawSet.DR_KEY_OPTIONNAME);\n start.setAttribute(RawSet.DR_KEY_OPTIONNAME, keys);\n }\n end.setAttribute('id', `${data.id}-end`);\n end.setAttribute('dr-end-point', '');\n return {start, end};\n } else if (data.type === RawSetType.STYLE_TEXT) {\n return {\n start: config.window.document.createTextNode(`/*start text ${data.id}*/`),\n end: config.window.document.createTextNode(`/*end text ${data.id}*/`)\n };\n } else { // text\n return {\n start: config.window.document.createComment(`start text ${data.id}`),\n end: config.window.document.createComment(`end text ${data.id}`)\n };\n }\n }\n\n public remove() {\n this.childAllRemove();\n this.point.end.remove();\n this.point.start.remove();\n }\n\n public childAllRemove() {\n let next = this.point.start.nextSibling;\n while (next) {\n if (next === this.point.end) {\n break;\n }\n next.remove();\n next = this.point.start.nextSibling;\n }\n }\n\n public childs(stopNext?: (node: Node) => boolean) {\n const childs: any[] = [];\n let next = this.point.start.nextSibling;\n while (next && next !== this.point.end) {\n if (stopNext?.(next)) {\n return;\n }\n childs.push(next);\n next = next.nextSibling;\n }\n return childs;\n }\n\n public getHasRawSet(key: string) {\n let rawSet: RawSet | undefined;\n this.childs((node) => {\n const drKey = (node as Element).getAttribute?.(RawSet.DR_KEY_OPTIONNAME);\n if (drKey && drKey === key) {\n rawSet = (node as any).rawSet as RawSet;\n return true;\n }\n return false;\n });\n return rawSet;\n }\n\n public static drItOtherEncoding(element: Element | DocumentFragment, postFix?: string) {\n\n const random = RandomUtils.uuid() + postFix;\n const regex = /#it#/g;\n element.querySelectorAll(`[${RawSet.DR_IT_OPTIONNAME}], [${RawSet.DR_FOR_OF_NAME}], [${RawSet.DR_REPEAT_NAME}], [${RawSet.DR_APPENDER_NAME}]`).forEach(it => {\n it.innerHTML = it.innerHTML.replace(regex, random);\n });\n return random;\n }\n\n public static drItOtherDecoding(element: Element | DocumentFragment, random: string) {\n element.querySelectorAll(`[${RawSet.DR_IT_OPTIONNAME}], [${RawSet.DR_FOR_OF_NAME}], [${RawSet.DR_REPEAT_NAME}], [${RawSet.DR_APPENDER_NAME}]`).forEach(it => {\n it.innerHTML = it.innerHTML.replace(RegExp(random, 'g'), '#it#');\n });\n }\n\n public static drVarDecoding(element: Element, vars: { name: string, value: string, regex: RegExp, random: string }[]) {\n element.querySelectorAll(`[${RawSet.DR_THIS_NAME}]`).forEach(it => {\n vars.filter(vit => vit.value && vit.name).forEach(vit => {\n it.innerHTML = it.innerHTML.replace(RegExp(vit.random, 'g'), vit.value);\n });\n });\n }\n\n public static replaceInnerHTML(element: Element, config: { asIs: string | RegExp, toBe?: string }): string {\n const innerHTML = element.innerHTML;\n const tobe = config.toBe = config.toBe ?? RandomUtils.uuid();\n if (config.asIs instanceof RegExp) {\n element.innerHTML = innerHTML.replace(config.asIs, config.toBe);\n } else {\n element.innerHTML = innerHTML.replaceAll(config.asIs, config.toBe);\n }\n return tobe;\n }\n\n public static drThisEncoding(element: Element, drThis: string, config: { asIs: RegExp, toBe?: string }): string {\n const thisRandom = config.toBe = config?.toBe ?? RandomUtils.uuid();\n // const thisRegex = /(?<!(dr-|\\.))this(?=.?)/g;\n // const thisRegex = /[^(dr\\-)]this(?=.?)/g;\n // const thisRegex = /[^(dr\\-)]this\\./g;\n // safari \uB54C\uBB38\uC5D0 \uC804\uC704 \uAC80\uC0C9 regex\uAC00 \uC548\uB428 \uC544 \uC9DC\uC99D\uB098\uC11C \uC774\uAC78\uB85C\uD568.\n // element.querySelectorAll(`[${RawSet.DR_PRE_NAME}]`).forEach(it => {\n // let message = it.innerHTML;\n // })\n element.querySelectorAll(`[${RawSet.DR_PRE_NAME}]`).forEach(it => {\n it.innerHTML = it.innerHTML.replace(config.asIs, thisRandom);\n });\n element.querySelectorAll(`[${RawSet.DR_THIS_NAME}]`).forEach(it => {\n // console.log('rrrrrrrrand?', drThis,config);\n let message = it.innerHTML;\n // StringUtils.regexExec(/([^(dr\\-)])?this(?=.?)/g, message).reverse().forEach(it => {\n StringUtils.regexExec(config.asIs, message).reverse().forEach(it => {\n message = message.substr(0, it.index) + message.substr(it.index).replace(it[0], `${it[1] ?? ''}${drThis}`);\n });\n it.innerHTML = message;\n });\n\n // console.log('changggg', element.innerHTML);\n let message = element.innerHTML;\n StringUtils.regexExec(config.asIs, message).reverse().forEach(it => {\n message = message.substr(0, it.index) + message.substr(it.index).replace(it[0], `${it[1] ?? ''}${drThis}`);\n });\n element.innerHTML = message;\n return thisRandom;\n }\n\n public static drThisBindEncoding(element: Element, variable: RegExp, config: { config: DomRenderConfig, otherReplaceVariablePath?: string }) {\n element.querySelectorAll(`[${RawSet.DR_THIS_NAME}]`).forEach(eIt => {\n let message = eIt.innerHTML;\n // StringUtils.regexExec(/([^(dr\\-)])?this(?=.?)/g, message).reverse().forEach(it => {\n StringUtils.regexExec(variable, message).reverse().forEach(it => {\n message = message.substr(0, it.index) + message.substr(it.index).replace(it[0], `${it[1] ?? ''}${eIt.getAttribute(RawSet.DR_THIS_NAME)}`);\n });\n eIt.innerHTML = message;\n });\n\n\n const targetElements = config.config.targetElements ?? [];\n const targetElementNames = targetElements.map(it => it.name.replaceAll('.', '\\\\.').replaceAll(':', '\\\\:')).join(',');\n const thisRandom = RandomUtils.uuid();\n element.querySelectorAll(targetElementNames).forEach(it => {\n it.innerHTML = it.innerHTML.replace(variable, thisRandom);\n });\n\n element.querySelectorAll(`[${RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME}]`).forEach(it => {\n it.innerHTML = it.innerHTML.replace(variable, thisRandom);\n })\n\n\n if (config.otherReplaceVariablePath) {\n let message = element.innerHTML;\n StringUtils.regexExec(variable, message).reverse().forEach(it => {\n message = message.substr(0, it.index) + message.substr(it.index).replace(it[0], `${it[1] ?? ''}${config.otherReplaceVariablePath}`);\n });\n element.innerHTML = message;\n }\n return thisRandom;\n }\n\n public static drThisBindDecoding(element: Element, config: { asIs: string, toBe: string, config: DomRenderConfig }) {\n const targetElements = config.config.targetElements ?? [];\n const targetElementNames = targetElements.map(it => it.name.replaceAll('.', '\\\\.').replaceAll(':', '\\\\:')).join(',');\n element.querySelectorAll(targetElementNames).forEach(it => {\n it.innerHTML = it.innerHTML.replace(RegExp(config.asIs, 'g'), config.toBe);\n });\n element.querySelectorAll(`[${RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME}]`).forEach(it => {\n it.innerHTML = it.innerHTML.replace(RegExp(config.asIs, 'g'), config.toBe);\n })\n }\n\n public static drThisDecoding(element: Element, config: { asIs: string, toBe: string }) {\n element.querySelectorAll(`[${RawSet.DR_PRE_NAME}]`).forEach(it => {\n it.innerHTML = it.innerHTML.replace(RegExp(config.asIs, 'g'), config.toBe);\n });\n element.querySelectorAll(`[${RawSet.DR_THIS_NAME}]`).forEach(it => {\n it.innerHTML = it.innerHTML.replace(RegExp(config.asIs, 'g'), config.toBe);\n });\n }\n\n public static drFormOtherMoveAttr(element: Element, as: string, to: string, config: DomRenderConfig) {\n element.querySelectorAll(`[${RawSet.DR_FORM_NAME}]`).forEach(subElement => {\n const nodeIterator = config.window.document?.createNodeIterator(subElement, NodeFilter.SHOW_ELEMENT, {\n acceptNode(node) {\n if (node.nodeType === Node.ELEMENT_NODE) {\n const element = node as Element;\n return element.hasAttribute(as) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;\n } else {\n return NodeFilter.FILTER_REJECT;\n }\n }\n });\n\n let node;\n // eslint-disable-next-line no-cond-assign\n while (node = nodeIterator?.nextNode()) {\n const element = node as Element;\n element.setAttribute(to, element.getAttribute(as) ?? '');\n element.removeAttribute(as);\n }\n });\n }\n\n public static drVarEncoding(element: Element, drVarOption: string) {\n const vars = (drVarOption?.split(',') ?? []).map(it => {\n const s = it.trim().split('=');\n const name = s[0]?.trim();\n const value = s[1]?.trim();\n return {\n name,\n value,\n // regex: RegExp('(?<!(dr-|\\\\.))var\\\\.' + s[0] + '(?=.?)', 'g'),\n regex: RegExp('\\\\$var\\\\.' + name + '(?=.?)', 'g'),\n random: RandomUtils.uuid()\n };\n });\n // console.log('asd', element.innerHTML);\n // element.querySelectorAll(`[${RawSet.DR_THIS_NAME}]`).forEach(it => {\n element.querySelectorAll(`[${RawSet.DR_VAR_OPTIONNAME}]`).forEach(it => {\n vars.filter(vit => vit.value && vit.name).forEach(vit => {\n it.innerHTML = it.innerHTML.replace(vit.regex, vit.random);\n });\n });\n vars.filter(vit => vit.value && vit.name).forEach(vit => {\n element.innerHTML = element.innerHTML.replace(vit.regex, vit.value);\n });\n return vars;\n }\n\n public static async drThisCreate(rawSet: RawSet, element: Element, drThis: string, drVarOption: string, drStripOption: boolean | string | null, obj: any, config: DomRenderConfig, set?: ComponentSet): Promise<DocumentFragment|undefined> {\n // console.log('ttttttttttttttttttttt',element.innerHTML, drThis, set, obj);\n const fag = config.window.document?.createDocumentFragment();\n if(!fag) {\n return ;\n }\n const targetElement = element.cloneNode(true) as Element;\n let targetObj = obj;\n if (set) {\n targetObj = set.obj;\n set.setTemplateStyle(await RawSet.fetchTemplateStyle(set));\n const style = RawSet.generateStyleTransform(set.styles ?? [], rawSet.uuid, true);\n targetElement.innerHTML = style + (set.template ?? '');\n } else {\n targetObj = ScriptUtils.evaluateReturn(ObjectUtils.Path.toOptionalChainPath(drThis), obj);\n }\n\n const componentKey = rawSet.uuid;\n const renderScript = ` /*drThisCreate*/\n // console.log('-----', this.__render);\n var ${EventManager.RENDER_VARNAME} = this.__render; \n var ${EventManager.RAWSET_VARNAME} = this.__render.rawSet; \n var ${EventManager.COMPONENT_VARNAME} = this.__render.component; \n var ${EventManager.ELEMENT_VARNAME} = this.__render.element; \n var ${EventManager.ROUTER_VARNAME} = this.__render.router; \n var ${EventManager.INNER_HTML_VARNAME} = this.__render.innerHTML; \n var ${EventManager.ATTRIBUTE_VARNAME} = this.__render.attribute; \n var ${EventManager.PARENT_THIS_PATH_VARNAME} = this.__render.parentThisPath; \n var ${EventManager.CURRENT_THIS_VARNAME} = this.__render.currentThis; \n var ${EventManager.CURRENT_THIS_PATH_VARNAME} = this.__render.currentThisPath; \n var ${EventManager.PARENT_THIS_VARNAME} = this.__render.parentThis; \n var ${EventManager.NEAR_THIS_PATH_VARNAME} = this.__render.nearThisPath; \n var ${EventManager.NEAR_THIS_VARNAME} = this.__render.nearThis; \n var ${EventManager.CREATOR_META_DATA_VARNAME} = this.__render.creatorMetaData;\n `;\n\n const parentThisPath = rawSet.findParentThisPath();\n const parentThis = rawSet.findParentThis(obj);\n const nearThisPath = rawSet.findNearThisPath();\n const nearThis = rawSet.findNearThis(obj);\n // console.log('ttttttttttttttttt',parentThisPath, parentThis, nearThisPath, nearThis);\n // console.log('-element.innerHTMLelement.innerHTMLelement.innerHTML',element.innerHTML);\n let render = {\n renderScript: renderScript,\n element: element,\n getElement: () => config.window.document.querySelector(`[class*=\"${rawSet.uuid}\"]`),\n innerHTML: element.innerHTML,\n // attribute: ObjectUtils.toDeleteKey(attribute, [...Object.values(RawSet.drAttrsOriginName), ...Object.values(EventManager.VARNAMES)]),\n rawSet: rawSet,\n router: config.router,\n componentKey: componentKey,\n currentThis: targetObj,\n currentThisPath: drThis,\n parentThisPath: parentThisPath,\n parentThis: parentThis,\n nearThisPath: nearThisPath,\n nearThis: nearThis,\n scripts: EventManager.setBindProperty(config.scripts ?? {}, obj)\n } as Render;\n // const attribute = DomUtils.getAttributeToObject(element);\n render.attribute = RawSet.getAttributeObject(element, {script: renderScript, obj: obj, renderData: render})\n render = Object.freeze(render);\n\n // dr-on-create data onCreateRender\n const onCreateDataScript = `return {rootParent: this, render: this.__render}`;\n const onCreateDataParam = ScriptUtils.evaluate<OnCreateRenderDataParams>(onCreateDataScript, Object.assign(obj, {__render: render}));\n if (isOnCreateRenderData(targetObj)) {\n targetObj?.onCreateRenderData(onCreateDataParam as OnCreateRenderDataParams);\n }\n // \uBD80\uBAA8\uC5D0\uAC8C\uB3C4 \uC790\uC2DD this \uC0DD\uC131\uB41C\uAC70 \uC54C\uB824\uC8FC\uB294 callback\n if (onCreateDataParam?.render?.parentThis && isOnCreatedThisChild(onCreateDataParam?.render?.parentThis)) {\n onCreateDataParam.render.parentThis.onCreatedThisChild(targetObj, onCreateDataParam as OnCreateRenderDataParams);\n }\n\n\n // dr-on-create onCreateRender\n const onCreate = element.getAttribute(RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME);\n let createParam: any[] = [];\n if (onCreate) {\n createParam = ScriptUtils.evaluateReturn<any[]>({bodyScript:renderScript, returnScript:ObjectUtils.Path.toOptionalChainPath(onCreate)}, obj)\n if (!Array.isArray(createParam)) {\n createParam = [createParam];\n }\n }\n\n if (isOnCreateRender(targetObj)) {\n targetObj.onCreateRender(...createParam);\n }\n\n // console.log('\uB9E4\uBC88\uD0C0\uB098?');\n // \uC911\uC694 dr-normal-attr-map\n // const normalAttrMap = element.getAttribute(EventManager.normalAttrMapAttrName);\n const targetAttrObject = RawSet.getAttributeObject(element, {script: renderScript, obj: obj, renderData: render});\n if (targetAttrObject) {\n rawSet.dataSet.render ??= {};\n rawSet.dataSet.render.attribute = targetAttrObject;\n Object.entries(targetAttrObject).forEach(([key, cval], index) => {\n // console.log('ooooooooooooooooo', key, cval);\n // const script = `${renderScript} return ${value} `;\n // const cval = ScriptUtils.eval(script, Object.assign(obj, { __render: render }));\n // // element.setAttribute(key, cval);\n if (isOnChangeAttrRender(targetObj)) {\n targetObj.onChangeAttrRender(key, cval, {rawSet: rawSet});\n }\n });\n }\n\n\n // dr-on-component-init\n // const oninit = element.getAttribute(`${EventManager.attrPrefix}on-component-init`); // dr-on-component-init\n const oninit = element.getAttribute(RawSet.DR_ON_CREATED_CALLBACK_OPTIONNAME); // dr-on-component-init\n // console.log('--------drThisCreate!!!', oninit)\n if (oninit) {\n const script = `${renderScript} ${oninit} `;\n ScriptUtils.evaluate(script, Object.assign(obj, {__render: render}));\n }\n\n targetElement.querySelectorAll(EventManager.attrNames.map(it => `[${it}]`).join(',')).forEach(it => {\n it.setAttribute(EventManager.ownerVariablePathAttrName, 'this');\n });\n\n // console.log('targetElement',targetElement);\n // attribute\n // const componentName = element.getAttribute(RawSet.DR_COMPONENT_NAME_OPTIONNAME) ?? 'component';\n const componentNameReplaceKey = RandomUtils.uuid();\n // if (componentName) {\n // RawSet.replaceInnerHTML(element, {asIs: `#${componentName}#`, toBe: 'this'})\n // }\n // const innerHTMLName = element.getAttribute(RawSet.DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME) ?? 'innerHTML';\n // const innerHTMLNameReplaceKey = RandomUtils.uuid();\n // if (innerHTMLName) {\n // RawSet.replaceInnerHTML(element, {asIs: `#${innerHTMLName}#`, toBe: innerHTMLNameReplaceKey})\n // }\n // \uC774\uAC78 \uC65C \uBE90\uC5C8\uC9C0... \uB2E4\uC2DC\uB123\uC5C8\uC74C \uADF8\uB7F0\uB370 \uC870\uAE08 \uB85C\uC9C1\uC774.. \uAC80\uC99D\uC774..\n const innerHTMLName = targetElement.getAttribute(RawSet.DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME) ?? 'innerHTML';\n if (innerHTMLName) {\n RawSet.replaceInnerHTML(targetElement, {asIs: `#${innerHTMLName}#`, toBe: element.innerHTML})\n }\n\n // console.log('aa-asIs', targetElement.innerHTML);\n const optionThisName = targetElement.getAttribute(RawSet.DR_THIS_NAME_OPTIONNAME);\n // console.log('11111111111111', optionThisName)\n targetElement.getAttributeNames().forEach(it => targetElement.setAttribute(it, targetElement.getAttribute(it)!.replace(/#this#/g, drThis)));\n const thisRandom = this.drThisEncoding(targetElement, drThis, {asIs: /@this@/g});\n // console.log('@@@@@@@@@@@@@0', targetElement.innerHTML);\n // let thisNameRandom: string | undefined = undefined;\n if (optionThisName) {\n // console.log('-----0', element.innerHTML, '\\n', targetElement.innerHTML)\n targetElement.innerHTML = targetElement.innerHTML.replaceAll(`@${optionThisName}@`, drThis);\n // console.log('-----1', element.innerHTML, '\\n', targetElement.innerHTML)\n // thisNameRandom = this.drThisBindEncoding(targetElement, new RegExp(`@${optionThisName}@`, 'g'), {config: config, otherReplaceVariablePath: drThis});\n }\n const nearThisRandom = this.drThisBindEncoding(targetElement, /@nearThis@/g, {config: config, otherReplaceVariablePath: rawSet.findNearThisPath()});\n const parentThisRandom = this.drThisBindEncoding(targetElement, /@parentThis@/g, {config: config, otherReplaceVariablePath: rawSet.findParentThisPath()});\n // console.log('@@@@@@@@@@@@@1', targetElement.innerHTML, rawSet.findParentThisPath());\n // console.log('@@@@@@@@@@@@@-----------', rawSet.point?.parentRawSet?.point?.start, rawSet.point?.parentRawSet?.point?.start instanceof HTMLMetaElement);\n // if (rawSet.point?.parentRawSet?.point?.start instanceof HTMLMetaElement) {\n // console.log('@@@@@@@@@@@@@-----------', rawSet.point?.parentRawSet?.point?.start.getAttribute('this-path'));\n // }\n // console.log('@@@@@@@@@@@@@2', targetElement.innerHTML);\n // const nearThisRandom = this.drThisEncoding(targetElement, rawSet.findNearThisPath(), {asIs: /@nearThis@/g});\n // const parentThisRandom = this.drThisEncoding(targetElement, rawSet.findParentThisPath(), {asIs: /@parentThis@/g});\n // console.log('aa-toBe', targetElement.innerHTML);\n // console.log('------', rawSet.findNearThisPath());\n // console.log('------', rawSet.findParentThisPath());\n const vars = this.drVarEncoding(targetElement, drVarOption);\n this.drVarDecoding(targetElement, vars);\n this.drThisDecoding(targetElement, {asIs: thisRandom, toBe: '@this@'});\n // if (optionThisName && thisNameRandom)\n // this.drThisBindDecoding(targetElement, {config: config, asIs: thisNameRandom, toBe: `@${optionThisName}@`});\n this.drThisBindDecoding(targetElement, {config: config, asIs: nearThisRandom, toBe: '@nearThis@'});\n this.drThisBindDecoding(targetElement, {config: config, asIs: parentThisRandom, toBe: '@parentThis@'});\n // if (componentName) {\n // RawSet.replaceInnerHTML(element, {asIs: componentNameReplaceKey, toBe: `#${componentName}#`})\n // }\n // if (innerHTMLName) {\n // RawSet.replaceInnerHTML(targetElement, {asIs: innerHTMLNameReplaceKey, toBe: `#${innerHTMLName}#`})\n // }\n // console.log('ddddddddddddd', targetElement.innerHTML);\n if (drStripOption && (drStripOption === true || drStripOption === 'true')) {\n // console.log('------childNodes', Array.from(n.childNodes))\n Array.from(targetElement.childNodes).forEach(it => fag.append(it));\n } else {\n targetElement.classList.add(`${rawSet.uuid}`)\n fag.append(targetElement);\n }\n // (fag as any).__domrender_this_variable_name = drThis;\n // console.log('set __domrender_this_variable_name', (fag as any).__domrender_this_variable_name)\n return fag;\n }\n\n private static async fetchTemplateStyle(set: { template?: string, styles?: string | (string[]) }) {\n // const id = RandomUtils.getRandomString(20);\n const stylePromises: Promise<string>[] = [];\n const templatePromise = (set.template && set.template.startsWith('lazy://') ? (await fetch(set.template.substring(6))).text() : Promise.resolve(set.template));\n if (Array.isArray(set.styles)) {\n for (let i = 0; set.styles && i < (set.styles.length ?? 0); i++) {\n const it = set.styles[i];\n stylePromises.push(it.startsWith('lazy://') ? (await fetch(it.substring(6))).text() : Promise.resolve(it));\n }\n } else if (set.styles) {\n stylePromises.push(Promise.resolve(set.styles));\n }\n // const tempTemplate = config.window.document.createElement('template');\n // tempTemplate.innerHTML = await templatePromise;\n // const tempContainer = config.window.document.createElement('div');\n return {\n template: await templatePromise,\n styles: await Promise.all(stylePromises)\n };\n }\n\n public static createComponentTargetAttribute(name: string, getThisObj: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => any, factory: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => DocumentFragment) {\n const targetAttribute: TargetAttr = {\n name,\n callBack(element: Element, attrValue: string, obj: any, rawSet: RawSet): DocumentFragment {\n const thisObj = getThisObj(element, attrValue, obj, rawSet);\n const data = factory(element, attrValue, obj, rawSet);\n // rawSet.point.thisVariableName = (data as any).__domrender_this_variable_name;\n if (thisObj) {\n // const i = thisObj.__domrender_component_new = (thisObj.__domrender_component_new ?? new Proxy({}, new DomRenderFinalProxy())) as CreatorMetaData;\n // i.thisVariableName = rawSet.point.thisVariableName;\n // i.rawSet = rawSet;\n // i.innerHTML = element.innerHTML;\n // i.rootCreator = new Proxy(obj, new DomRenderFinalProxy());\n // i.creator = new Proxy(rawSet.point.thisVariableName ? ScriptUtils.evalReturn(rawSet.point.thisVariableName, obj) : obj, new DomRenderFinalProxy());\n }\n return data;\n }\n\n };\n return targetAttribute;\n }\n\n public static createComponentTargetElement(\n {name, objFactory, template = '', styles = [], noStrip}: {\n name: string,\n noStrip?: boolean;\n objFactory: (element: Element, obj: any, rawSet: RawSet, counstructorParam: any[]) => any,\n template?: string,\n styles?: string | (string[])\n }\n ): TargetElement {\n\n const targetElement: TargetElement = {\n name,\n styles,\n template,\n noStrip,\n async callBack(element: Element, obj: any, rawSet: RawSet, attrs: Attrs, config: DomRenderConfig): Promise<DocumentFragment | undefined> {\n const templateStyle = await RawSet.fetchTemplateStyle({template: this.template, styles: this.styles});\n this.template = templateStyle.template;\n this.styles = templateStyle.styles;\n obj.__domrender_components ??= {};\n const domrenderComponents = obj.__domrender_components;\n // debugger;\n const renderScript = ` /*createComponentTargetElement*/\n // console.log('-------------------',this.__render);\n var ${EventManager.RAWSET_VARNAME} = this.__render.rawSet; \n var ${EventManager.COMPONENT_VARNAME} = this.__render.component; \n var ${EventManager.ELEMENT_VARNAME} = this.__render.element; \n var ${EventManager.ROUTER_VARNAME} = this.__render.router; \n var ${EventManager.INNER_HTML_VARNAME} = this.__render.innerHTML; \n var ${EventManager.ATTRIBUTE_VARNAME} = this.__render.attribute; \n var ${EventManager.PARENT_THIS_PATH_VARNAME} = this.__render.parentThisPath; \n var ${EventManager.PARENT_THIS_VARNAME} = this.__render.parentThis; \n var ${EventManager.NEAR_THIS_PATH_VARNAME} = this.__render.nearThisPath; \n var ${EventManager.NEAR_THIS_VARNAME} = this.__render.nearThis; \n var ${EventManager.CREATOR_META_DATA_VARNAME} = this.__render.creatorMetaData;\n `;\n const parentThisPath = rawSet.findParentThisPath();\n const parentThis = rawSet.findParentThis(obj);\n const nearThisPath = rawSet.findNearThisPath();\n const nearThis = rawSet.findNearThis(obj);\n let render = {\n renderScript,\n element: element,\n innerHTML: element.innerHTML,\n // attribute: attribute,\n getElement: () => config.window.document.querySelector(`[class*=\"${rawSet.uuid}\"]`),\n rawSet: rawSet,\n router: config.router,\n componentKey: rawSet.uuid,\n nearThisPath: nearThisPath,\n nearThis: nearThis,\n parentThisPath: parentThisPath,\n parentThis: parentThis,\n scripts: EventManager.setBindProperty(config.scripts ?? {}, obj)\n } as Render;\n const constructor = element.getAttribute(RawSet.DR_ON_CONSTRUCTOR_ARGUMENTS_OPTIONNAME);\n let constructorParam = [];\n // script \uBD80\uBD84\uC740 \uCC98\uB9AC\uB418\uC5B4 \uBC14\uC778\uB529 \uC2DC\uCF1C\uC900\uB2E4\n render.attribute = RawSet.getAttributeObject(element, {script: renderScript, obj: obj, renderData: render})\n render = Object.freeze(render);\n //\n // // dr-constructor\n if (constructor) {\n let param = ScriptUtils.evaluateReturn({bodyScript: renderScript, returnScript: ObjectUtils.Path.toOptionalChainPath(constructor)}, Object.assign(obj, {__render: render})) ?? [];\n if (!Array.isArray(param)) {\n param = [param];\n }\n constructorParam = param;\n }\n\n\n // // console.log('------22', attrs);\n const instance = domrenderComponents[rawSet.uuid] = objFactory(element, obj, rawSet, constructorParam);\n render = {\n currentThis: instance,\n // creatorMetaData: i,\n ...render\n };\n rawSet.dataSet.render = render;\n // \uCD94\uC801 \uBC0F destroy \uC704\uD574.\n instance.__rawSet = rawSet;\n\n //\n // const i = instance.__domrender_component_new = (instance.__domrender_component_new ?? new Proxy({}, new DomRenderFinalProxy())) as CreatorMetaData;\n // i.thisVariableName = rawSet.point.thisVariableName;\n // i.thisFullVariableName = `this.__domrender_components.${componentKey}`;\n // i.componentKey = componentKey;\n // i.rawSet = rawSet;\n // i.attribute = attribute;\n // i.router = config.router;\n // i.scripts = render.scripts;\n // i.drAttrs = attrs;\n // i.innerHTML = element.innerHTML;\n // i.rootCreator = new Proxy(obj, new DomRenderFinalProxy());\n // i.creator = new Proxy(rawSet.point.thisVariableName ? ScriptUtils.evalReturn(rawSet.point.thisVariableName, obj) : obj, new DomRenderFinalProxy());\n // this.__creatorMetaData = i;\n // render = {\n // component: instance,\n // creatorMetaData: i,\n // ...render\n // };\n //\n // // \uC911\uC694 dr-normal-attr-map\n // const normalAttrMap = element.getAttribute(EventManager.normalAttrMapAttrName);\n // if (isOnChangeAttrRender(instance) && normalAttrMap) {\n // new Map<string, string>(JSON.parse(normalAttrMap)).forEach((value, key) => {\n // const script = `${renderScript} return ${value} `;\n // const cval = ScriptUtils.eval(script, Object.assign(obj, { __render: render }));\n // // element.setAttribute(key, cval);\n // instance.onChangeAttrRender(key, cval);\n // });\n // }\n //\n // // dr-on-create data\n // const onCreateDataScript = `return {rootParent: this, render: this.__render}`;\n // const onCreateDataParam = ScriptUtils.eval(onCreateDataScript, Object.assign(obj, { __render: render }));\n // if (isOnCreateRenderData(instance)) {\n // instance?.onCreateRenderData(onCreateDataParam);\n // }\n //\n // // dr-on-create onCreateRender\n // const onCreate = element.getAttribute(RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME);\n // this.__render = render;\n // let createParam = [];\n // if (onCreate) {\n // const script = `${renderScript} return ${onCreate} `;\n // createParam = ScriptUtils.eval(script, Object.assign(obj, { __render: render }));\n // if (!Array.isArray(createParam)) {\n // createParam = [createParam];\n // }\n // }\n // if (isOnCreateRender(instance)) {\n // instance?.onCreateRender?.(...createParam);\n // }\n let applayTemplate = element.innerHTML;\n let innerHTMLThisRandom;\n const componentName = element.getAttribute(RawSet.DR_COMPONENT_NAME_OPTIONNAME) ?? 'component';\n const innerHTMLName = element.getAttribute(RawSet.DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME) ?? 'innerHTML';\n if (applayTemplate) {\n // if (rawSet.point.thisVariableName) {\n // \uB118\uC5B4\uC628 innerHTML\uC5D0 this\uAC00 \uC788\uC73C\uBA74 \uD574\uB2F9\uC548\uB418\uAC8C \uC6B0\uC120 \uCE58\uD658.\n innerHTMLThisRandom = RandomUtils.uuid();\n applayTemplate = applayTemplate.replace(/this\\./g, innerHTMLThisRandom);\n // }\n applayTemplate = applayTemplate.replace(RegExp(`#${componentName}#`, 'g'), 'this');\n }\n // applayTemplate = template.replace(RegExp(`#${innerHTMLName}#`, 'g'), applayTemplate);\n applayTemplate = (this.template ?? '').replace(RegExp(`#${innerHTMLName}#`, 'g'), applayTemplate);\n // dr-on-component-init\n // const oninit = element.getAttribute(`${EventManager.attrPrefix}on-component-init`); // dr-on-component-init\n // const oninit = element.getAttribute(RawSet.DR_ON_CREATED_CALLBACK_OPTIONNAME); // dr-on-component-init\n // if (oninit) {\n // const script = `${renderScript} ${oninit} `;\n // ScriptUtils.eval(script, Object.assign(obj, {\n // __render: render\n // }));\n // }\n\n const style = RawSet.generateStyleTransform(this.styles, rawSet.uuid, true);\n element.innerHTML = style + (applayTemplate ?? '');\n\n // \uC5EC\uAE30\uC11C targetElement\uC758 \uC637\uC744 \uBC97\uAE34\uB2E4.\n // console.log('---createComponentTargetElement', element);\n let data = await RawSet.drThisCreate(rawSet, element, `this.__domrender_components.${rawSet.uuid}`, '', !noStrip, obj, config);\n // const tempDiv = document.createElement(\"div\");\n // tempDiv.appendChild(data.cloneNode(true)); // \uC6D0\uBCF8 \uBCF4\uC874\n // console.log('-------------ddddddddddddd', element.innerHTML, tempDiv.innerHTML);\n // let data = await RawSet.drThisCreate(rawSet, element, `this.__domrender_components.${componentKey}`, '', false, obj, config);\n\n // \uB118\uC5B4\uC628 innerHTML\uC5D0 this\uAC00 \uC788\uB294\uAC78 \uB2E4\uC2DC \uBCF5\uD638\uD654\uD574\uC11C \uC81C\uB300\uB85C \uC791\uB3D9\uD558\uB3C4\uB85D\uD55C\uB2E4. \uBD80\uBAA8\uC5D0\uC11C\uC758 this\uBA74 \uBD80\uBAA8\uAEC4\uB85C \uC791\uB3D9\uB418\uAC8C\n if (data && innerHTMLThisRandom) {\n const template = config.window.document.createElement('template') as HTMLTemplateElement;\n template.content.append(data);\n template.innerHTML = template.innerHTML.replace(RegExp(innerHTMLThisRandom, 'g'), 'this.');\n data = template.content;\n }\n // (data as any).render = render;\n return data;\n }\n // complete\n };\n return targetElement;\n }\n\n public static isExpression(data: string | null) {\n // const reg = /(?:[$#]\\{(?:(([$#]\\{)??[^$#]?[^{]*?)\\}[$#]))/g;\n const reg = /[$#]\\{([\\s\\S.]*?)\\}[$#]/g;\n return reg.test(data ?? '');\n }\n\n public static expressionGroups(data: string | null) {\n // const reg = /(?:[$#]\\{(?:(([$#]\\{)??[^$#]*?)\\}[$#]))/g;\n // const reg = /(?:[$#]\\{(?:(([$#]\\{)??[^$#]?[^{]*?)\\}[$#]))/g;\n const reg = /[$#]\\{([\\s\\S.]*?)\\}[$#]/g;\n return StringUtils.regexExec(reg, data ?? '');\n }\n\n public static destroy(obj: any | undefined, parameter: OnDestroyRenderParams, config: DomRenderConfig, destroyOptions: (DestroyOptionType | string)[] = []): void {\n // console.log('destroy destroydestroydestroydestroy', obj, parameter, config, destroyOptions);\n if (!destroyOptions.some(it => it === DestroyOptionType.NO_DESTROY)) {\n if (!destroyOptions.some(it => it === DestroyOptionType.NO_MESSENGER_DESTROY)) {\n if (config.messenger && obj) {\n config.messenger.deleteChannelFromObj(obj);\n }\n }\n // console.log('------------destroy', obj);\n if (isOnDestroyRender(obj)) {\n obj.onDestroyRender?.(parameter);\n }\n }\n }\n\n\n public findNearThis = (obj: any, rawSet: RawSet = this) => {\n const path = this.findNearThisPath(rawSet);\n if (path) {\n const optionalPath = ObjectUtils.Path.toOptionalChainPath(path);\n // console.log('ppppp-', path, optionalPath)\n return ScriptUtils.evaluateReturn(optionalPath, obj);\n }\n };\n\n public findParentThis = (obj: any, rawSet: RawSet = this) => {\n const path = this.findParentThisPath(rawSet);\n if (path) {\n const optionalPath = ObjectUtils.Path.toOptionalChainPath(path);\n return ScriptUtils.evaluateReturn(optionalPath, obj);\n }\n };\n\n public findNearThisPath = (rawSet: RawSet = this): string | undefined => {\n const paths = this.findThisPaths(rawSet);\n return paths[paths.length - 1];\n };\n\n public findParentThisPath = (rawSet: RawSet = this): string | undefined => {\n const paths = this.findThisPaths(rawSet);\n return paths[paths.length - 2];\n };\n\n public findThisPaths = (rawSet: RawSet = this): string[] => {\n const paths: string[] = [];\n const findPath = (rawSet: RawSet) => {\n if (rawSet && rawSet.point) {\n // jsDom\uC5D0\uC11C instranceof HTMLMetaElement\uAC00 \uC548\uBA39\uD788\uB294\uAC83\uAC19\uC544? \uAC04\uD608\uC801\uC73C\uB85C?\n if ('getAttribute' in rawSet.point.start && rawSet.point.start.getAttribute('this-path')) {\n paths.push(rawSet.point.start.getAttribute('this-path')!);\n }\n if (rawSet.point.parentRawSet)\n findPath(rawSet.point.parentRawSet);\n }\n };\n findPath(rawSet);\n paths.push('this');\n return paths.reverse();\n };\n\n public static getAttributeObject(element: Element, config: { script: string, obj: any, renderData?: any }) {\n if (!element) {\n return undefined;\n }\n const attribute = ElementUtils.getAttributeToObject(element);\n const normalAttribute = attribute[EventManager.normalAttrMapAttrName];\n if (normalAttribute) {\n new Map<string, string>(JSON.parse(normalAttribute)).forEach((v, k) => {\n const cval = ScriptUtils.evaluateReturn({bodyScript: config.script, returnScript: v}, Object.assign(config.obj, config.renderData ? {__render:config.renderData} : undefined));\n attribute[k] = cval;\n });\n }\n return attribute;\n }\n\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import { RandomUtils } from '@dooboostore/core/random/RandomUtils';\nimport { StringUtils } from '@dooboostore/core/string/StringUtils';\nimport { ScriptUtils } from '@dooboostore/core-web/script/ScriptUtils';\nimport { EventManager } from '../events/EventManager';\nimport type { DomRenderConfig } from '../configs/DomRenderConfig';\nimport { Range } from '../iterators/Range';\nimport { ElementUtils } from '@dooboostore/core-web/element/ElementUtils';\nimport { ComponentSet } from '../components/ComponentSet';\nimport { DrPre } from '../operators/DrPre';\nimport { Dr } from '../operators/Dr';\nimport { DrIf } from '../operators/DrIf';\nimport { ExecuteState } from '../operators/OperatorExecuter';\nimport { DrThis } from '../operators/DrThis';\nimport { DrForm } from '../operators/DrForm';\nimport { DrInnerText } from '../operators/DrInnerText';\nimport { DrInnerHTML } from '../operators/DrInnerHTML';\nimport { DrFor } from '../operators/DrFor';\nimport { DrForOf } from '../operators/DrForOf';\nimport { DrAppender } from '../operators/DrAppender';\nimport { DrRepeat } from '../operators/DrRepeat';\nimport { DrTargetElement } from '../operators/DrTargetElement';\nimport { DrTargetAttr } from '../operators/DrTargetAttr';\nimport { DrStripElement } from '../operators/DrStripElement';\nimport { TargetElement } from '../configs/TargetElement';\nimport { TargetAttr } from '../configs/TargetAttr';\nimport { DestroyOptionType } from './DestroyOptionType';\nimport { Attrs } from './Attrs';\nimport { AttrInitCallBack } from './AttrInitCallBack';\nimport { ElementInitCallBack } from './ElementInitCallBack';\nimport { RawSetType } from './RawSetType';\nimport { Render } from './Render';\nimport { DrThisProperty } from '../operators/DrThisProperty';\nimport { RawSetOperatorType } from './RawSetOperatorType';\nimport { CssParser, CssRule, isStyleRule, isAtRule } from '@dooboostore/core/parser/css/CssParser';\nimport { isOnCreateRenderData, OnCreateRenderDataParams } from '../lifecycle/OnCreateRenderData';\nimport { isOnCreateRender } from '../lifecycle/OnCreateRender';\nimport { isOnChangeAttrRender } from '../lifecycle/OnChangeAttrRender';\nimport { isOnInitRender } from '../lifecycle/OnInitRender';\nimport { isOnCreatedThisChild } from '../lifecycle/OnCreatedThisChild';\nimport { isOnDestroyRender, OnDestroyRenderParams } from '../lifecycle/OnDestroyRender';\nimport { DrTargetElementIsElement } from '../operators/DrTargetElementIsElement';\nimport { ObjectUtils } from '@dooboostore/core/object/ObjectUtils';\n\n\nexport class RawSet {\n public static readonly DR_NAME = 'dr';\n public static readonly DR_IF_NAME = 'dr-if';\n public static readonly DR_FOR_NAME = 'dr-for';\n public static readonly DR_FOR_OF_NAME = 'dr-for-of';\n public static readonly DR_THIS_PROPERTY_NAME = 'dr-this-property';\n public static readonly DR_REPEAT_NAME = 'dr-repeat';\n public static readonly DR_THIS_NAME = 'dr-this';\n public static readonly DR_FORM_NAME = 'dr-form';\n public static readonly DR_PRE_NAME = 'dr-pre';\n public static readonly DR_APPENDER_NAME = 'dr-appender';\n public static readonly DR_INNERHTML_NAME = 'dr-inner-html';\n public static readonly DR_INNERTEXT_NAME = 'dr-inner-text';\n public static readonly DR_DETECT_NAME = 'dr-detect';\n public static readonly DR_STRIP_NAME = 'dr-strip';\n public static readonly DR_REPLACE_TARGET_ELEMENT_IS_NAME = 'dr-replace-target-element-is';\n\n // \uAC10\uC9C0\uCC98\uB9AC\uB418\uB294 \uC635\uC158\n public static readonly DR_DETECT_IF_OPTIONNAME = 'dr-detect-option-if';\n public static readonly DR_DETECT_FILTER_OPTIONNAME = 'dr-detect-option-filter';\n public static readonly DR_DETECT_ATTR_OPTIONNAME = 'dr-detect-option-attr';\n\n\n /**\n * @deprecated\n */\n public static readonly DR_THIS_OPTIONNAME = 'dr-option-this';\n public static readonly DR_ATTR_OPTIONNAME = 'dr-option-attr';\n public static readonly DR_IF_OPTIONNAME = 'dr-option-if';\n public static readonly DR_IT_OPTIONNAME = 'dr-option-it';\n public static readonly DR_VAR_OPTIONNAME = 'dr-option-var';\n public static readonly DR_AFTER_OPTIONNAME = 'dr-option-after';\n public static readonly DR_NEXT_OPTIONNAME = 'dr-option-next';\n public static readonly DR_BEFORE_OPTIONNAME = 'dr-option-before';\n public static readonly DR_COMPLETE_OPTIONNAME = 'dr-option-complete';\n public static readonly DR_STRIP_OPTIONNAME = 'dr-option-strip';\n public static readonly DR_DESTROY_OPTIONNAME = 'dr-option-destroy';\n\n public static readonly DR_THIS_NAME_OPTIONNAME = 'dr-option-this-name';\n /**\n * @deprecated\n */\n public static readonly DR_COMPONENT_NAME_OPTIONNAME = 'dr-option-component-name';\n public static readonly DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME = 'dr-option-component-inner-html-name';\n public static readonly DR_KEY_OPTIONNAME = 'dr-option-key';\n public static readonly DR_HAS_KEYS_OPTIONNAME = 'dr-option-has-keys';\n\n public static readonly DR_ON_CREATE_ARGUMENTS_OPTIONNAME = 'dr-on-create:arguments';\n public static readonly DR_ON_CREATED_CALLBACK_OPTIONNAME = 'dr-on-create:callback';\n /** \uC6B0\uC120 \uC4F0\uB294\uACF3\uC774 \uC5C6\uC5B4\uC11C deprecated\uB97C \uAC78\uC5B4\uB1A8\uC74C\n @deprecated\n */\n public static readonly DR_ON_INIT_ARGUMENTS_OPTIONNAME = 'dr-on-init:arguments';\n public static readonly DR_ON_CONSTRUCTOR_ARGUMENTS_OPTIONNAME = 'dr-on-constructor:arguments';\n\n public static readonly drAttrsOriginName: Attrs = {\n dr: RawSet.DR_NAME,\n drIf: RawSet.DR_IF_NAME,\n drFor: RawSet.DR_FOR_NAME,\n drForOf: RawSet.DR_FOR_OF_NAME,\n drThisProperty: RawSet.DR_THIS_PROPERTY_NAME,\n drAppender: RawSet.DR_APPENDER_NAME,\n drRepeat: RawSet.DR_REPEAT_NAME,\n drThis: RawSet.DR_THIS_NAME,\n drForm: RawSet.DR_FORM_NAME,\n drPre: RawSet.DR_PRE_NAME,\n drInnerHTML: RawSet.DR_INNERHTML_NAME,\n drInnerText: RawSet.DR_INNERTEXT_NAME,\n drItOption: RawSet.DR_IT_OPTIONNAME,\n drVarOption: RawSet.DR_VAR_OPTIONNAME,\n drAfterOption: RawSet.DR_AFTER_OPTIONNAME,\n drNextOption: RawSet.DR_NEXT_OPTIONNAME,\n drBeforeOption: RawSet.DR_BEFORE_OPTIONNAME,\n drCompleteOption: RawSet.DR_COMPLETE_OPTIONNAME,\n drStripElement: RawSet.DR_STRIP_NAME,\n drReplaceTargetElementIs: RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME,\n drStripOption: RawSet.DR_STRIP_OPTIONNAME,\n drIfOption: RawSet.DR_IF_OPTIONNAME,\n drDetectIfOption: RawSet.DR_DETECT_IF_OPTIONNAME,\n drDestroyOption: RawSet.DR_DESTROY_OPTIONNAME,\n drHasKeysOption: RawSet.DR_HAS_KEYS_OPTIONNAME,\n drKeyOption: RawSet.DR_KEY_OPTIONNAME\n };\n\n public static readonly DR_TAGS = [];\n\n // public static readonly DR_REPLACE_ACTION_ATTRIBUTES = [\n // RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME\n // ]\n\n public static readonly DR_ATTRIBUTES = [\n RawSet.DR_NAME,\n RawSet.DR_APPENDER_NAME,\n RawSet.DR_IF_NAME,\n RawSet.DR_FOR_OF_NAME,\n RawSet.DR_THIS_PROPERTY_NAME,\n RawSet.DR_FOR_NAME,\n RawSet.DR_THIS_NAME,\n RawSet.DR_FORM_NAME,\n RawSet.DR_PRE_NAME,\n RawSet.DR_INNERHTML_NAME,\n RawSet.DR_INNERTEXT_NAME,\n RawSet.DR_REPEAT_NAME,\n RawSet.DR_DETECT_NAME,\n RawSet.DR_STRIP_NAME,\n ] as const;\n\n constructor(\n public uuid: string,\n public type: RawSetType,\n public point: {\n start: (Comment | Text | HTMLMetaElement),\n node: Node,\n end: Comment | Text | HTMLMetaElement,\n // thisVariableName?: string | null,\n parent?: Node | null,\n parentRawSet?: RawSet,\n childrenRawSets?: RawSet[]\n },\n public dataSet: {\n config: DomRenderConfig;\n fragment: DocumentFragment,\n render?: Render;\n },\n public detect?: { action: Function },\n ) {\n // point.start.rawSet = this;\n // console.log('rawset constructor->', (this.point.node as Element).getAttributeNames());\n }\n\n get isConnected() {\n // console.log('isConnect???', this, this.point.start.isConnected, this.point.end.isConnected);\n return this.point.start.isConnected && this.point.end.isConnected;\n }\n\n // \uC911\uC694\n getUsingTriggerVariables(config?: DomRenderConfig): Set<string> {\n const usingTriggerVariables = new Set<string>();\n // console.log('------data', this.dataSet)\n this.dataSet.fragment.childNodes.forEach((cNode, key) => {\n // console.log('-----aaaa-data', cNode, key)\n let script = '';\n if (cNode.nodeType === Node.TEXT_NODE) {\n script = `\\`${(cNode as Text).textContent ?? ''}\\``;\n const expressionGroups = RawSet.expressionGroups(script)\n // console.log('???????', script, expressionGroups)\n if (expressionGroups[0].length >1) {\n script = expressionGroups[0][1] as string;\n }\n // console.log('--', expressionGroups, script)\n } else if (cNode.nodeType === Node.ELEMENT_NODE) {\n const element = cNode as Element;\n const targetAttrNames = (config?.targetAttrs?.map(it => it.name) ?? [])\n .concat(RawSet.DR_ATTRIBUTES, RawSet.DR_DETECT_FILTER_OPTIONNAME, RawSet.DR_DETECT_IF_OPTIONNAME, RawSet.DR_DETECT_ATTR_OPTIONNAME); // .concat(EventManager.normalAttrMapAttrName);\n const targetScripts = targetAttrNames.map(it => element.getAttribute(it)).filter(it => it).map(it=>`(${it})`);\n const targetAttrMap = element.getAttribute(EventManager.normalAttrMapAttrName);\n // console.log('targetAttrMap-->', targetAttrMap)\n if (targetAttrMap) {\n new Map<string, string>(JSON.parse(targetAttrMap)).forEach((v, k) => {\n targetScripts.push(`(${v})`);\n });\n }\n // console.log('targetScriptstargetScripts', targetScripts)\n script = targetScripts.join(';');\n // script = targetScripts.map(it=>`try{${it}}catch(e){}`).join(';');\n\n // attribute\uCABD \uCCB4\uD06C\uD558\uB294\uAC70 \uCD94\uAC00\n // console.log('----!!!!!-->', targetAttrNames)\n // const otherAttrs = element.getAttributeNames()\n // .filter(it => !targetAttrNames.includes(it.toLowerCase()) && RawSet.isExporesion(element.getAttribute(it)))\n // .map(it => {\n // return `\\`${element.getAttribute(it) ?? ''}\\``;\n // }).join(';');\n // script += ';' + otherAttrs\n }\n if (script) {\n\n // console.log('------1-',script)\n script = script.replace(/#[^#]*#/g, '({})');\n // console.log('------2-',script)\n // script = script.replace('}$','}');\n // script = script.replace('@this@','this');\n // console.log('----------->', script)\n\n // TODO: \uD6D4.. \uAF2D\uD544\uC694\uD55C\uAC00..? \uD2B8\uB9AC\uAC70\uB420\uB54C \uC2A4\uD06C\uB9BD\uD2B8\uBCC0\uC218 \uAE4C\uC9C0 \uAC10\uC9C0\uD574\uC57C\uB420\uAE4C?\n EventManager.VARNAMES.forEach(it => {\n // script = script.replace(RegExp(it.replace('$', '\\\\$'), 'g'), `this?.___${it}`);\n // script = script.replace(RegExp(it.replace('$', '\\\\$'), 'g'), `this.___${it}`);\n script = script.replace(RegExp(it.replace('$', '\\\\$'), 'g'), `this.___${it}`);\n // console.log('scripts-->', script)\n });\n // console.log('--------1--', script);\n // script = script.replaceAll('#{','${').replaceAll('}#', '}')\n // console.log('--------2--', script);\n // TODO: \uD6D4.. \uAF2D\uD544\uC694\uD55C\uAC00..? \uD2B8\uB9AC\uAC70\uB420\uB54C \uC2A4\uD06C\uB9BD\uD2B8\uBCC0\uC218 \uAE4C\uC9C0 \uAC10\uC9C0\uD574\uC57C\uB420\uAE4C?\n Array.from(ObjectUtils.Path.detectPathFromScript(script,{excludeThis: true})).filter(it => !it.startsWith(`___${EventManager.SCRIPTS_VARNAME}`)).forEach(it => usingTriggerVariables.add(it));\n }\n });\n // console.log('usingTriggerVariable----------->', usingTriggerVariables)\n return usingTriggerVariables;\n }\n\n // \uC911\uC694 render \uCC98\uB9AC \uBD80\uBD84\n public async render(obj: any, config: DomRenderConfig): Promise<RawSet[]> {\n // console.log('render!!!!!!!!!!!!!!')\n const genNode = config.window.document.importNode(this.dataSet.fragment, true);\n const raws: RawSet[] = [];\n const onAttrInitCallBacks: AttrInitCallBack[] = [];\n const onElementInitCallBacks: ElementInitCallBack[] = [];\n const onThisComponentSetCallBacks: ComponentSet[] = [];\n const drAttrs: Attrs[] = [];\n // console.log('rawSet render!!', obj, config, this, Array.from(genNode.childNodes.values()));\n for (const cNode of Array.from(genNode.childNodes.values())) {\n // console.log('cNodecNodecNode', cNode);\n let attribute = {};\n if (cNode.nodeType === Node.ELEMENT_NODE) {\n attribute = ElementUtils.getAttributeToObject(cNode as Element);\n }\n\n const __render = Object.freeze({\n rawSet: this,\n scripts: EventManager.setBindProperty(config?.scripts, obj),\n router: config?.router,\n range: Range.range,\n element: cNode,\n attribute: attribute,\n rootObject: obj,\n scriptUtils: ScriptUtils,\n nearThis: this.findNearThis(obj),\n parentThis: this.findParentThis(obj),\n bindScript: ` /** render **/\n const ${EventManager.SCRIPTS_VARNAME} = this.__render.scripts;\n const ${EventManager.RAWSET_VARNAME} = this.__render.rawSet;\n const ${EventManager.ELEMENT_VARNAME} = this.__render.element;\n const ${EventManager.ATTRIBUTE_VARNAME} = this.__render.attribute;\n const ${EventManager.RANGE_VARNAME} = this.__render.range;\n const ${EventManager.ROUTER_VARNAME} = this.__render.router;\n const ${EventManager.NEAR_THIS_VARNAME} = this.__render.nearThis;\n const ${EventManager.PARENT_THIS_VARNAME} = this.__render.parentThis;\n const ${EventManager.SCRIPT_UTILS_VARNAME} = this.__render.scriptUtils;\n const ${EventManager.ROOT_OBJECT_VARNAME} = this.__render.rootObject;\n `\n }) as unknown as Render;\n\n\n // const normalAttribute = attribute[EventManager.normalAttrMapAttrName];\n // if (normalAttribute) {\n // new Map<string, string>(JSON.parse(normalAttribute)).forEach((v, k) => {\n // const cval = ScriptUtils.evalReturn({ bodyScript: __render.bindScript, returnScript: v }, Object.assign(obj, { __render: __render }));\n // console.log('-----------',v,k, cval);\n // attribute[v] = cval;\n // });\n // }\n\n\n const fag = config.window.document.createDocumentFragment();\n if (cNode.nodeType === Node.TEXT_NODE && cNode.textContent) {\n // console.log('text-->', this, obj, config, cNode.textContent);\n // console.log('text-->', Array.from(this.fragment.childNodes))\n const textContent = cNode.textContent;\n const runText = RawSet.expressionGroups(textContent)[0][1];\n // console.log('--->', RawSet.exporesionGrouops(textContent), textContent,runText, runText[0][1])\n let newNode: Node;\n if (textContent?.startsWith('#')) {\n const r = ScriptUtils.evaluate(`${__render.bindScript} return ${runText}`, Object.assign(obj, {__render}));\n const template = config.window.document.createElement('template') as HTMLTemplateElement;\n template.innerHTML = r;\n newNode = template.content;\n } else {\n const r = ScriptUtils.evaluate(`${__render.bindScript} return ${runText}`, Object.assign(obj, {__render}));\n newNode = config.window.document.createTextNode(r);\n }\n cNode.parentNode?.replaceChild(newNode, cNode);\n // console.log('-------', this.point.start.parentNode.nodeName)\n // \uC911\uC694 style value change \uB410\uC744\uB54C \uB2E4\uC2DC \uCC98\uB9AC\uD574\uC57C\uB418\uAE30\uB584\uBB38\uC5D0: \uB9C8\uC9C0\uB9C9\uC5D0 completed \uC5C6\uB294 attr \uAC00\uC9C0\uACE0 \uD310\uB2E8 \uD558\uB2C8\uAE50\n if (this.type === RawSetType.STYLE_TEXT && this.point.parent) {\n (this.point.parent as Element).removeAttribute('completed');\n }\n } else if (cNode.nodeType === Node.ELEMENT_NODE) {\n const element = cNode as Element;\n // console.log('target-->', element)\n const drAttr:Attrs = {\n dr: this.getAttributeAndDelete(element, RawSet.DR_NAME),\n drIf: this.getAttributeAndDelete(element, RawSet.DR_IF_NAME),\n drFor: this.getAttributeAndDelete(element, RawSet.DR_FOR_NAME),\n drForOf: this.getAttributeAndDelete(element, RawSet.DR_FOR_OF_NAME),\n drThisProperty: this.getAttributeAndDelete(element, RawSet.DR_THIS_PROPERTY_NAME),\n drAppender: this.getAttributeAndDelete(element, RawSet.DR_APPENDER_NAME),\n drRepeat: this.getAttributeAndDelete(element, RawSet.DR_REPEAT_NAME),\n drThis: this.getAttributeAndDelete(element, RawSet.DR_THIS_NAME),\n drForm: this.getAttributeAndDelete(element, RawSet.DR_FORM_NAME),\n drPre: this.getAttributeAndDelete(element, RawSet.DR_PRE_NAME),\n drInnerHTML: this.getAttributeAndDelete(element, RawSet.DR_INNERHTML_NAME),\n drInnerText: this.getAttributeAndDelete(element, RawSet.DR_INNERTEXT_NAME),\n drStripElement: this.getAttributeAndDelete(element, RawSet.DR_STRIP_NAME),\n drReplaceTargetElementIs: this.getAttributeAndDelete(element, RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME),\n drItOption: this.getAttributeAndDelete(element, RawSet.DR_IT_OPTIONNAME),\n drIfOption: this.getAttributeAndDelete(element, RawSet.DR_IF_OPTIONNAME),\n drVarOption: this.getAttributeAndDelete(element, RawSet.DR_VAR_OPTIONNAME),\n drNextOption: this.getAttributeAndDelete(element, RawSet.DR_NEXT_OPTIONNAME),\n drAfterOption: this.getAttributeAndDelete(element, RawSet.DR_AFTER_OPTIONNAME),\n drBeforeOption: this.getAttributeAndDelete(element, RawSet.DR_BEFORE_OPTIONNAME),\n drCompleteOption: this.getAttributeAndDelete(element, RawSet.DR_COMPLETE_OPTIONNAME),\n drStripOption: this.getAttributeAndDelete(element, RawSet.DR_STRIP_OPTIONNAME),\n drDestroyOption: this.getAttributeAndDelete(element, RawSet.DR_DESTROY_OPTIONNAME),\n drKeyOption: this.getAttributeAndDelete(element, RawSet.DR_KEY_OPTIONNAME),\n drDetectIfOption: this.getAttribute(element, RawSet.DR_DETECT_IF_OPTIONNAME),\n drHasKeysOption: this.getAttribute(element, RawSet.DR_HAS_KEYS_OPTIONNAME),\n };\n drAttrs.push(drAttr);\n // \uC544\uB798 \uC21C\uC11C \uC911\uC694\n const operators = [\n new DrPre(this, __render, {raws, fag}, {element, attrName: RawSet.DR_PRE_NAME, attr: drAttr.drPre, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drPre}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new Dr(this, __render, {raws, fag}, {element, attrName: RawSet.DR_NAME, attr: drAttr.dr, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.dr}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n // new Dr(this, __render, {raws, fag}, {element, attrName: EventManager.onRenderedInitAttrName, attr: drAttr.dr, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.dr}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrIf(this, __render, {raws, fag}, {element, attrName: RawSet.DR_IF_NAME, attr: drAttr.drIf, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drIf}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrStripElement(this, __render, {raws, fag}, {element, attrName: RawSet.DR_STRIP_NAME, attr: drAttr.drStripElement, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drThis}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrThis(this, __render, {raws, fag}, {element, attrName: RawSet.DR_THIS_NAME, attr: drAttr.drThis, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drThis}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrForm(this, __render, {raws, fag}, {element, attrName: RawSet.DR_FOR_NAME, attr: drAttr.drForm, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drForm}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrInnerText(this, __render, {raws, fag}, {element, attrName: RawSet.DR_INNERTEXT_NAME, attr: drAttr.drInnerText, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drInnerText}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrInnerHTML(this, __render, {raws, fag}, {element, attrName: RawSet.DR_INNERHTML_NAME, attr: drAttr.drInnerHTML, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drInnerHTML}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrFor(this, __render, {raws, fag}, {element, attrName: RawSet.DR_FOR_NAME, attr: drAttr.drFor, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drFor}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrForOf(this, __render, {raws, fag}, {element, attrName: RawSet.DR_FOR_OF_NAME, attr: drAttr.drForOf, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drForOf}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrThisProperty(this, __render, {raws, fag}, {element, attrName: RawSet.DR_THIS_PROPERTY_NAME, attr: drAttr.drThisProperty, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drThisProperty}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrAppender(this, __render, {raws, fag}, {element, attrName: RawSet.DR_APPENDER_NAME, attr: drAttr.drAppender, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drAppender}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrRepeat(this, __render, {raws, fag}, {element, attrName: RawSet.DR_REPEAT_NAME, attr: drAttr.drRepeat, attrs: drAttr}, {config, obj, operatorAround: config.operatorAround?.drRepeat}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrTargetElementIsElement(this, __render, {raws, fag}, {element, attrName: RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME, attr: drAttr.drReplaceTargetElementIs, attrs: drAttr}, {config, obj}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrTargetElement(this, __render, {raws, fag}, {element, attrs: drAttr}, {config, obj}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n new DrTargetAttr(this, __render, {raws, fag}, {element, attrs: drAttr}, {config, obj}, {onAttrInitCallBacks, onElementInitCallBacks, onThisComponentSetCallBacks}),\n ];\n\n for (const operator of operators) {\n const state = await operator.start();\n if (state === ExecuteState.EXECUTE) {\n break;\n } else if (state === ExecuteState.STOP) {\n return raws;\n }\n }\n }\n }\n\n this.point.childrenRawSets = raws;\n raws.forEach(it => {\n it.point.parentRawSet = this;\n });\n\n // console.log('pppppppppppppp', this);\n\n\n // replaceBody\uC640 applyEvent \uC21C\uC11C\uB97C \uBC14\uAFE8\uB2E4 20250511\n const childrenNodes = Array.from(genNode.childNodes);\n this.applyEvent(obj, genNode, config);\n this.replaceBody(genNode); // \uC911\uC694 \uC5EC\uAE30\uC11C \uB9C8\uC9C0\uB9C9\uC5D0 \uC5F0\uC158\uB41C \uAC12\uC744 \uADF8\uB824\uC900\uB2E4.\n // console.log('rawSEt!!!!!!!', obj,childrenNodes,config)\n // console.log('rawSEt!!!!!!!', obj, this.findNearThis(obj),childrenNodes,config)\n // console.log('rawSEt!!!!!!!', obj, drAttrs)\n this.onRenderedEvent(obj, childrenNodes, config);\n\n drAttrs.forEach(it => {\n if (it.drCompleteOption) {\n // genNode.childNodes\n const render = Object.freeze({\n rawSet: this,\n fag: genNode,\n scripts: EventManager.setBindProperty(config?.scripts, obj)\n } as Render);\n ScriptUtils.evaluate(`\n const ${EventManager.FAG_VARNAME} = this.__render.fag;\n const ${EventManager.SCRIPTS_VARNAME} = this.__render.scripts;\n const ${EventManager.RAWSET_VARNAME} = this.__render.rawSet;\n ${it.drCompleteOption}`, Object.assign(obj, {__render: render}));\n }\n });\n\n\n // \uC911\uC694 style isolation \uB098\uC911\uC5D0 :scope\uB85C \uB300\uCCB4 \uAC00\uB2A5\uD560\uB4EF.\n // 2023.9.4\uC77C \uC5C6\uC570 style \uCC98\uC74C\uB4E4\uC5B4\uC62C\uB54C \uCC98\uB9AC\uD558\uB294\uAC78\uB85C \uBC14\uAFC8\n // RawSet.generateStyleSheetsLocal(config);\n for (const it of onThisComponentSetCallBacks) {\n if (isOnInitRender(it.obj)) {\n it.obj?.onInitRender?.({}, this);\n }\n }\n for (const it of onElementInitCallBacks) {\n if (isOnInitRender(this.dataSet.render?.currentThis)) {\n // TODO: \uB098\uC911\uC5D0 \uD30C\uB77C\uBBF8\uD130 \uB4E4\uC5B4\uAC00\uC57C\uB420\uB4EF. \uC9C0\uAE08\uC740 \uB9AC\uD329\uD1A0\uB9C1\uD558\uB290\uB77C \uBE60\uC9D0\n // console.log('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!', it, this.dataSet);\n // dr-on-init:arguments\n\n // if (isOnInitRender()) {\n // it.targetElement.__render.component.onInitRender?.(...param);\n // }\n // if (it.targetElement?.__render?.element && it.targetElement?.__render?.component) {\n // const oninit = it.targetElement.__render.element.getAttribute(RawSet.DR_ON_INIT_ARGUMENTS_OPTIONNAME); // dr-on-component-init\n // let param = [];\n // if (oninit) {\n // const script = `${it.targetElement.__render.renderScript} return ${oninit} `;\n // param = ScriptUtils.eval(script, Object.assign(obj, {\n // __render: it.targetElement.__render\n // }));\n // if (!Array.isArray(param)) {\n // param = [param];\n // }\n // }\n //\n // if (isOnInitRender(it.targetElement.__render.component)) {\n // it.targetElement.__render.component.onInitRender?.(...param);\n // }\n // }\n this.dataSet.render.currentThis.onInitRender({}, this);\n }\n\n\n config?.onElementInit?.(it.name, obj, this, it.targetElement);\n }\n\n // TODO: \uC774\uBD80\uBD84\uB3C4 \uC704\uC5D0 targetElement \uCC98\uB7FC \uD574\uC57C\uB420\uAE4C?\n for (const it of onAttrInitCallBacks) {\n config?.onAttrInit?.(it.attrName, it.attrValue, obj, this);\n }\n\n // component destroy\n if (obj.__domrender_components) {\n Object.entries(obj.__domrender_components).forEach(([key, value]) => {\n const rawSet = (value as any).__rawSet as RawSet;\n const drAttrs: Attrs | undefined = rawSet?.dataSet.render?.attribute;\n if (rawSet && !rawSet.isConnected) {\n const destroyOptions = drAttrs?.drDestroyOption?.split(',') ?? [];\n RawSet.destroy(obj.__domrender_components[key], {rawSet: rawSet}, config, destroyOptions);\n delete obj.__domrender_components[key];\n }\n });\n }\n // console.log('-------raws',raws)\n return raws;\n }\n\n\n // \uC911\uC694 \uC2A4\uD0C0\uC77C \uC801\uC6A9 \uBD80\uBD84\n private static generateRuleSelector(start: string, end: string, sit: string) {\n const selectorText = `:is(${start} ~ *:not(${start} ~ ${end} ~ *))`;\n if (sit.startsWith('## ')) {\n return sit.replace(/^## /, '');\n } else if (sit.startsWith('.')) {\n return `${selectorText}${sit}, ${selectorText} ${sit}`;\n } else if (sit.includes('::')) {\n const reg = sit.match(/(.*)::(.*)$/);\n const first = reg?.[1];\n const extracted = reg?.[2];\n const divText = `${start} ~ ${first}:not(${start} ~ ${end} ~ *)`;\n return `${selectorText} ${first}, ${divText}::${extracted}`;\n } else {\n const divText = `${start} ~ ${sit}:not(${start} ~ ${end} ~ *)`;\n return `${selectorText} ${sit}, ${divText}`;\n }\n }\n\n public static generateStyleTransform(styleBody: string | string[], componentKey: string, styleTagWrap = true) {\n // console.log('style!!!!!!!!!!!!!!!!1', styleBody, componentKey, styleTagWrap);\n if (Array.isArray(styleBody)) {\n styleBody = styleBody.join('\\n');\n }\n styleBody = styleBody.replaceAll('#uuid#', componentKey);\n const start = `#${componentKey}-start`;\n const end = `#${componentKey}-end`;\n // \uC774\uAC70\uBB50\uD558\uB294\uC9C0 \uAE4C\uBA39\uC5C8\uB124 \uBB50\uC600\uC9C0??..\n // \uB3D9\uC801\uC73C\uB85C \uCC98\uB9AC\uD558\uB294\uAC83\uAC19\uC740\uB370.. css \uC5D0\uC11C\uB294 \uB3D9\uC801\uC73C\uB85C \uCC98\uB9AC\uD558\uB294\uAC78 \uC9C0\uD5A5 \uD574\uC57C\uB420\uAC83\uAC19\uC740\uB370 \uC774\uAE30\uB2A5 deprecated \uD560\uC9C0 \uACE0\uBBFC\uC911\n // const before = StringUtils.regexExecArrayReplace(styleBody, /(\\$\\{.*?\\}\\$)/g, (data) => {\n // // console.log('\uB3D9\uC801?', `var(--domrender-${data[0]})`)\n // return `var(--domrender-${data[0]})`;\n // });\n // const before = styleBody;\n // console.log('before@@@@@@@@@@@', before)\n const cssParser = new CssParser(styleBody);\n \n const processRule = (rule: CssRule) => {\n if (isStyleRule(rule)) {\n const isRoot = rule.selector.includes(':root');\n if (!isRoot) {\n // Handle comma-separated selectors\n const selectors = rule.selector.split(',').map(s => s.trim());\n const transformedSelectors = selectors.map(selector => \n this.generateRuleSelector(start, end, selector)\n );\n rule.selector = transformedSelectors.join(', ');\n }\n } else if (isAtRule(rule)) {\n if (rule.name === 'media') {\n const hasRoot = rule.children.some(childRule => \n isStyleRule(childRule) && childRule.selector.includes(':root')\n );\n if (!hasRoot) {\n rule.children.forEach(childRule => {\n if (isStyleRule(childRule)) {\n const selectors = childRule.selector.split(',').map(s => s.trim());\n const transformedSelectors = selectors.map(selector => \n this.generateRuleSelector(start, end, selector)\n );\n childRule.selector = transformedSelectors.join(', ');\n }\n });\n }\n }\n }\n };\n\n cssParser.rules.forEach(processRule);\n \n let after = cssParser.stringify();\n // let after = StringUtils.regexExecArrayReplace(stringify as string, /(var\\(--domrender-(\\$\\{.*?\\}\\$)?\\))/g, (data) => {\n // return data[2];\n // });\n // console.log('after@@@@@@@@@@@', after)\n\n // \uC5EC\uAE30\uC11C \uC120\uC5B8 selector \uC790\uCCB4\uC5D0\uB3C4 \uCC98\uB9AC\uAC00\uB2A5\uD558\uB3C4\uB85D \uD55C\uB2E4 20250518\n after = after.replaceAll('/*$', '${')\n after = after.replaceAll('$*/', '}$')\n\n\n if (styleTagWrap) {\n styleBody = `<style id='${componentKey}-style' domstyle>${after}</style>`;\n }\n\n // console.log('style!!!!!!!!!!!!!!2', styleBody);\n return styleBody;\n }\n\n public applyEvent(obj: any, fragment = this.dataSet.fragment, config?: DomRenderConfig) {\n this.dataSet.config.eventManager.applyEvent(obj, this.dataSet.config.eventManager.findAttrElements(fragment, config), config);\n }\n\n public onRenderedEvent(obj: any, nodes: Node[], config?: DomRenderConfig) {\n this.dataSet.config.eventManager.onRenderedEvent(obj, nodes, config);\n }\n\n public getAttribute(element: Element, attr: string) {\n const data = element.getAttribute(attr);\n return data;\n }\n\n public getAttributeAndDelete(element: Element, attr: string) {\n const data = element.getAttribute(attr);\n // if (data)\n // element.setAttribute(`origin-${attr}`, data);\n\n element.removeAttribute(attr);\n return data;\n }\n\n public getDrAppendAttributeAndDelete(element: Element, obj: any) {\n let data = element.getAttribute(RawSet.DR_APPENDER_NAME);\n // if (data && !/\\[[0-9]+\\]/g.test(data)) {\n if (data && !/\\[.+\\]/g.test(data)) {\n const currentIndex = ScriptUtils.evaluateReturn(`${ObjectUtils.Path.toOptionalChainPath(data)}?.length -1`, obj);\n // console.log('------?', currentIndex)\n // if (currentIndex === undefined || isNaN(currentIndex)) {\n // return undefined;\n // }\n // const currentIndex = ScriptUtils.evalReturn(`${data}.length`, obj);\n data = `${data}[${currentIndex}]`;\n element.setAttribute(RawSet.DR_APPENDER_NAME, data);\n // element.setAttribute(RawSet.DR_IF_NAME, data);\n // element.setAttribute('dr-id', data);\n // console.log('-->', element)\n }\n\n // if (data && !/\\.childs\\[[0-9]+\\]/g.test(data)) {\n // const currentIndex = ScriptUtils.evalReturn(`${data}.currentIndex`, obj);\n // data = `${data}.childs[${currentIndex}]`;\n // element.setAttribute(RawSet.DR_APPENDER_NAME, data)\n // }\n element.removeAttribute(RawSet.DR_APPENDER_NAME);\n return data;\n }\n\n public replaceBody(genNode: Node) {\n this.childAllRemove();\n this.point.start.parentNode?.insertBefore(genNode, this.point.start.nextSibling); // \uC911\uC694 start checkpoint \uB2E4\uC74C\uC778 end checkpoint \uC55E\uC5D0 \uB123\uB294\uB2E4. \uC989 \uC911\uAC04 \uAEF4\uB123\uAE30 (\uB098\uC911\uC5D0 meta tag\uB85C \uBCC0\uACBD\uC744 \uD574\uB3C4\uB420\uB4EF\uD558\uAE34\uD55C\uB370..)\n }\n\n // \uC911\uC694 important\n public static checkPointCreates(element: Node, obj: any, config: DomRenderConfig): RawSet[] {\n // console.log('!@@@@@@@@@@@@@@@@', obj);\n // const NodeFilter = (config.window as any).NodeFilter;\n // const thisVariableName = (element as any).__domrender_this_variable_name;\n // console.log('thisVariableName---', thisVariableName);\n const nodeIterator = config.window.document?.createNodeIterator(element, NodeFilter.SHOW_ALL, {\n acceptNode(node) {\n // console.log('nodeType', node.nodeType, (node as any).tagName, (node as any).data);\n if (node.nodeType === Node.TEXT_NODE) {\n // console.log('text--->', node.textContent)\n // console.log('????????', node.parentElement, node.parentElement?.getAttribute('dr-pre'));\n // console.log('???????/',node.textContent, node.parentElement?.getAttribute('dr-pre'))\n // TODO: \uB098\uC911\uC5D0\n // const between = StringUtils.betweenRegexpStr('[$#]\\\\{', '\\\\}', StringUtils.deleteEnter((node as Text).data ?? ''))\n const between = RawSet.expressionGroups(StringUtils.deleteEnter((node as Text).data ?? ''));\n // console.log('bbbb', between)\n return between?.length > 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;\n // return /\\$\\{.*?\\}/g.test(StringUtils.deleteEnter((node as Text).data ?? '')) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;\n // return /[$#]\\{.*?\\}/g.test(StringUtils.deleteEnter((node as Text).data ?? '')) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;\n } else if (node.nodeType === Node.ELEMENT_NODE) {\n const element = node as Element;\n if (element.hasAttribute(RawSet.DR_PRE_NAME)) {\n return NodeFilter.FILTER_REJECT;\n }\n if (element.hasAttribute(EventManager.attrAttrName)) {\n const script = element.getAttribute(EventManager.attrAttrName) ?? '';\n // console.log('scriptscriptscriptscriptscriptscript,', script)\n const keyValuePairs = Array.from(script.matchAll(/(\\w+):\\s*([^,}]+)/g)).map(match => ({key: match[1], value: match[2]}));\n (keyValuePairs ?? []).forEach(it => {\n element.setAttribute(it.key, '${' + it.value + '}$')\n })\n // console.log('-------k', keyValuePairs)\n\n // const drAttr = ScriptUtils.evalReturn(script, obj)\n // Object.entries(drAttr).forEach(([key, value]) => {\n // const keyValuePairs = Array.from(a.matchAll(/(\\w+):\\s*([^,}]+)/g)).map(match => ({ key: match[1], value: match[2] }));\n // console.log(keyValuePairs);\n // // \uCD9C\uB825: [{ key: 'value', value: 'this.child.obj.name' }, { key: 'wow', value: 'this.ww' }, { key: 'zz', value: '22' }, { key: 'v', value: '\"ee\"' }]\n //\n // console.log('-----------------', key,value)\n // element.setAttribute(key, '${'+(value)+'}$');\n // })\n // EventManager.attrNames.filter(it => it in drAttr).forEach(it => {\n // if (drAttr[it] === null) {\n // element.removeAttribute(it);\n // } else {\n // element.setAttribute(it, drAttr[it]);\n // }\n // })\n // console.log('-------->', Array.from(element.attributes), element.getAttribute('dr-attr'), obj)\n }\n // element.setAttribute('dr-event-click', 'console.log(11)');\n const targetElementIs = element.getAttribute(RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME);\n const targetElementNames = config.targetElements?.map(it => it.name.toLowerCase()) ?? [];\n const isElement = targetElementNames.includes(element.tagName.toLowerCase()) || targetElementNames.includes(targetElementIs?.toLowerCase() as any);\n // if (isElement) {\n // (element as HTMLElement).style.display = 'none';\n // (element as HTMLElement).style.width = '100px';\n // (element as HTMLElement).style.height = '100px';\n // console.log((element as HTMLElement).outerHTML)\n // }\n // console.log('------targetElementIstargetElementIs>', targetElementNames, '---', isElement, targetElementIs);\n // const targetAttrNames = (config.targetAttrs?.map(it => it.name) ?? []).concat([...RawSet.DR_ATTRIBUTES,...EventManager.RAWSET_CHECK_ATTRIBUTE]);\n const targetAttrNames = (config.targetAttrs?.map(it => it.name) ?? []).concat([...RawSet.DR_ATTRIBUTES]);\n const normalAttrs = new Map<string, string>();\n const linkVariables = new Map<string, string>();\n const linkNames = EventManager.linkAttrs.map(it => it.name);\n const isAttr = element.getAttributeNames().filter(it => {\n const value = element.getAttribute(it);\n\n // link\uC77C\uB54C\n if (value && linkNames.includes(it)) {\n linkVariables.set(it, value);\n } else if (value && RawSet.isExpression(value)) { // \uD45C\uD604\uC2DD\uC788\uC744\uB584\n let variablePath: string = RawSet.expressionGroups(value)[0][1];\n // console.log('0-----',variablePath, node);\n // normal Attribute \uCD08\uBC18\uC5D0 \uC14B\uD305\uD574\uC8FC\uAE30.\n // TODO: \uC774\uAC70 \uD558\uAE34\uD588\uB294\uB370 \uC0AC\uC774\uB4DC \uC774\uD329\uD2B8?\n const originVariable = variablePath\n variablePath = variablePath.replace(/#[^#]*#/g, '({})');\n // console.log('1-----',variablePath, node);\n const optionalChainPath = ObjectUtils.Path.toOptionalChainPath(variablePath);\n // console.log('2-----',optionalChainPath);\n const cval = ScriptUtils.evaluateReturn(optionalChainPath, Object.assign(obj));\n // const cval = ScriptUtils.evalReturn(variablePath, Object.assign(obj));\n if (cval === null) {\n element.removeAttribute(it);\n } else {\n element.setAttribute(it, cval);\n }\n normalAttrs.set(it, originVariable);\n // console.log('normalAttribute', it, variablePath);\n }\n // console.log(element.getAttribute(it), attrExpresion);\n const isTargetAttr = targetAttrNames.includes(it.toLowerCase());\n return isTargetAttr;\n }).length > 0;\n\n if (linkVariables.size) {\n element.setAttribute(EventManager.linkTargetMapAttrName, JSON.stringify(Array.from(linkVariables.entries())));\n }\n // \uAE30\uBCF8 attribute\uB97C \uCC98\uB9AC\uD558\uAE30\uC704\uD574\n if (normalAttrs.size) {\n element.setAttribute(EventManager.normalAttrMapAttrName, JSON.stringify(Array.from(normalAttrs.entries())));\n }\n // if (isElement) {\n // element.setAttribute('www', '@this@');\n // }\n const r = (isAttr || isElement) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;\n return r;\n }\n return NodeFilter.FILTER_REJECT;\n }\n });\n const pars: RawSet[] = [];\n let currentNode: Node | null;\n // eslint-disable-next-line no-cond-assign\n while (currentNode = nodeIterator?.nextNode()) {\n if (currentNode.nodeType === Node.TEXT_NODE) {\n const text = (currentNode as Text).textContent ?? '';\n const template = config.window.document?.createElement('template');\n if (!template) break;\n // const a = StringUtils.regexExec(/\\$\\{.*?\\}/g, text);\n // const a = StringUtils.regexExec(/[$#]\\{.*?\\}/g, text);\n // const a = StringUtils.betweenRegexpStr('[$#]\\\\{', '\\\\}', text); // <--TODO: \uB098\uC911\uC5D0..\n const groups = RawSet.expressionGroups(text);\n const map = groups.map(it => ({uuid: `${RandomUtils.alphabet(40)}_${obj?.constructor?.name}`, content: it[0], regexArr: it}));\n let lasterIndex = 0;\n for (let i = 0; i < map.length; i++) {\n const it = map[i];\n // console.log('itttttttttttt', it);\n const regexArr = it.regexArr;\n // \uC911\uC694: text\uACBD\uC6B0 asdasd ${this.name}$ \uC774\uB807\uAC8C \uC788\uB2E4\uBA74 \uC55E\uBD80\uBD84 asdasd <-- \uC774\uBD80\uBD84\uC740 \uC0B4\uB824\uC57C\uB418\uB2C8\uAE50 \uC544\uB798\uCC98\uB7FC \uC9DC\uB984\n const preparedText = regexArr.input.substring(lasterIndex, regexArr.index);\n // const preparedText = regexArr[1];\n // const start = config.window.document.createElement('meta');\n // start.setAttribute('id', `${it.uuid}-start`);\n // const end = config.window.document.createElement('meta');\n // end.setAttribute('id', `${it.uuid}-end`);\n let type: RawSetType;\n if (currentNode.parentNode && currentNode.parentNode.nodeName.toUpperCase() === 'STYLE') {\n type = RawSetType.STYLE_TEXT;\n } else {\n type = RawSetType.TEXT;\n }\n const node = document.createTextNode(preparedText);\n const startEndPoint = RawSet.createStartEndPoint({id: it.uuid, type}, config);\n // layout setting\n // console.log('createTextNode', node);\n template.content.append(node); // expression \uC55E \uBD80\uBD84 \uB123\uC5B4\uC918\uC57C \uC55E\uBD80\uBD84 \uC77C\uBC18 text \uC548\uC9E4\uB9B0\uB2E4.\n template.content.append(startEndPoint.start); // add start checkpoint\n template.content.append(startEndPoint.end); // add end checkpoint\n\n // content \uC548\uCABD RawSet render \uD560\uB54C start \uC640 end \uC0AC\uC774\uC5D0 fragment \uC5F0\uC0B0\uD574\uC11C \uB4E4\uC5B4\uAC04\uB2E4.\n const fragment = config.window.document.createDocumentFragment();\n fragment.append(config.window.document.createTextNode(it.content));\n // (startEndPoint.start as any).khh = RandomUtils.decimal(0,10)\n pars.push(new RawSet(it.uuid, type, {\n start: startEndPoint.start,\n node: currentNode,\n end: startEndPoint.end,\n parent: currentNode.parentNode,\n // thisVariableName: thisVariableName\n }, {fragment: fragment, config: config}));\n lasterIndex = regexArr.index + it.content.length;\n }\n template.content.append(config.window.document.createTextNode(text.substring(lasterIndex, text.length)));\n currentNode?.parentNode?.replaceChild(template.content, currentNode); // <-- \uC5EC\uAE30\uC11C text\uB97C fragment\uB85C replace\uD588\uAE30\uB54C\uBB38\uC5D0 \uCD94\uC801 \uBCC0\uACBD\uC774 \uAC00\uB2A5\uD558\uB2E4.\n } else if (currentNode.nodeType === Node.ELEMENT_NODE) {\n // const uuid = `${RandomUtils.alphabet(40)}___${obj?.constructor?.name}`;\n const uuid = `${RandomUtils.alphabet(40)}`;\n const element = currentNode as Element;\n const fragment = config.window.document.createDocumentFragment();\n const elementType: RawSetType = RawSetType.TARGET_ELEMENT;\n const startEndPoint = RawSet.createStartEndPoint({node: element, id: uuid, type: elementType}, config);\n // \uC5EC\uAE30\uC11C \uB4F1\uB85D\uD55C component \uCD94\uAC00\uD55C\uB2E4.\n const targetElementIs = element.getAttribute(RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME);\n const targetElementNames = config.targetElements?.map(it => it.name.toLowerCase()) ?? [];\n const isElement = targetElementNames.includes(element.tagName.toLowerCase()) || targetElementNames.includes(targetElementIs?.toLowerCase() as any);\n // if (isElement) {\n // (element as HTMLElement).style.display = 'none'\n // }\n // const isElement = targetElementNames.includes(element.tagName.toLowerCase());\n const targetAttrNames = (config.targetAttrs?.map(it => it.name) ?? []).concat(RawSet.DR_ATTRIBUTES);\n const isAttr = element.getAttributeNames().filter(it => targetAttrNames.includes(it.toLowerCase())).length > 0;\n currentNode?.parentNode?.insertBefore(startEndPoint.start, currentNode);\n currentNode?.parentNode?.insertBefore(startEndPoint.end, currentNode.nextSibling);\n fragment.append(currentNode);\n // const tempDiv = document.createElement('div');\n // tempDiv.appendChild(fragment.cloneNode(true)); // fragment \uBCF5\uC0AC\uBCF8 \uCD94\uAC00\n // console.log('------',tempDiv.innerHTML);\n // console.log();\n const rawSet = new RawSet(uuid, isElement ? elementType : (isAttr ? RawSetType.TARGET_ATTR : RawSetType.UNKOWN), {\n start: startEndPoint.start,\n node: currentNode,\n end: startEndPoint.end,\n parent: currentNode.parentNode,\n // thisVariableName: thisVariableName\n }, {config: config, fragment: fragment});\n pars.push(rawSet);\n }\n }\n // console.log('parsparsparsparsparsparsparsparsparspars', pars);\n return pars;\n }\n\n public static createStartEndPoint(data: { node?: Node, id: string, type: RawSetType }, config: DomRenderConfig) {\n if (data.type === RawSetType.TARGET_ELEMENT && data.node) {\n const element = data.node as Element;\n const start: HTMLMetaElement = config.window.document.createElement('meta');\n const end: HTMLMetaElement = config.window.document.createElement('meta');\n start.setAttribute('id', `${data.id}-start`);\n start.setAttribute('dr-start-point', '');\n const keys = element.getAttribute(RawSet.DR_KEY_OPTIONNAME);\n const thisPropertyType = element.getAttribute(RawSet.DR_THIS_PROPERTY_NAME);\n if (thisPropertyType) {\n start.setAttribute('type', RawSetOperatorType.DR_THIS_PROPERTY);\n }\n if (keys) {\n element.removeAttribute(RawSet.DR_KEY_OPTIONNAME);\n start.setAttribute(RawSet.DR_KEY_OPTIONNAME, keys);\n }\n end.setAttribute('id', `${data.id}-end`);\n end.setAttribute('dr-end-point', '');\n return {start, end};\n } else if (data.type === RawSetType.STYLE_TEXT) {\n return {\n start: config.window.document.createTextNode(`/*start text ${data.id}*/`),\n end: config.window.document.createTextNode(`/*end text ${data.id}*/`)\n };\n } else { // text\n return {\n start: config.window.document.createComment(`start text ${data.id}`),\n end: config.window.document.createComment(`end text ${data.id}`)\n };\n }\n }\n\n public remove() {\n this.childAllRemove();\n this.point.end.remove();\n this.point.start.remove();\n }\n\n public childAllRemove() {\n let next = this.point.start.nextSibling;\n while (next) {\n if (next === this.point.end) {\n break;\n }\n next.remove();\n next = this.point.start.nextSibling;\n }\n }\n\n public childs(stopNext?: (node: Node) => boolean) {\n const childs: any[] = [];\n let next = this.point.start.nextSibling;\n while (next && next !== this.point.end) {\n if (stopNext?.(next)) {\n return;\n }\n childs.push(next);\n next = next.nextSibling;\n }\n return childs;\n }\n\n public getHasRawSet(key: string) {\n let rawSet: RawSet | undefined;\n this.childs((node) => {\n const drKey = (node as Element).getAttribute?.(RawSet.DR_KEY_OPTIONNAME);\n if (drKey && drKey === key) {\n rawSet = (node as any).rawSet as RawSet;\n return true;\n }\n return false;\n });\n return rawSet;\n }\n\n public static drItOtherEncoding(element: Element | DocumentFragment, postFix?: string) {\n\n const random = RandomUtils.uuid() + postFix;\n const regex = /#it#/g;\n element.querySelectorAll(`[${RawSet.DR_IT_OPTIONNAME}], [${RawSet.DR_FOR_OF_NAME}], [${RawSet.DR_REPEAT_NAME}], [${RawSet.DR_APPENDER_NAME}]`).forEach(it => {\n it.innerHTML = it.innerHTML.replace(regex, random);\n });\n return random;\n }\n\n public static drItOtherDecoding(element: Element | DocumentFragment, random: string) {\n element.querySelectorAll(`[${RawSet.DR_IT_OPTIONNAME}], [${RawSet.DR_FOR_OF_NAME}], [${RawSet.DR_REPEAT_NAME}], [${RawSet.DR_APPENDER_NAME}]`).forEach(it => {\n it.innerHTML = it.innerHTML.replace(RegExp(random, 'g'), '#it#');\n });\n }\n\n public static drVarDecoding(element: Element, vars: { name: string, value: string, regex: RegExp, random: string }[]) {\n element.querySelectorAll(`[${RawSet.DR_THIS_NAME}]`).forEach(it => {\n vars.filter(vit => vit.value && vit.name).forEach(vit => {\n it.innerHTML = it.innerHTML.replace(RegExp(vit.random, 'g'), vit.value);\n });\n });\n }\n\n public static replaceInnerHTML(element: Element, config: { asIs: string | RegExp, toBe?: string }): string {\n const innerHTML = element.innerHTML;\n const tobe = config.toBe = config.toBe ?? RandomUtils.uuid();\n if (config.asIs instanceof RegExp) {\n element.innerHTML = innerHTML.replace(config.asIs, config.toBe);\n } else {\n element.innerHTML = innerHTML.replaceAll(config.asIs, config.toBe);\n }\n return tobe;\n }\n\n public static drThisEncoding(element: Element, drThis: string, config: { asIs: RegExp, toBe?: string }): string {\n const thisRandom = config.toBe = config?.toBe ?? RandomUtils.uuid();\n // const thisRegex = /(?<!(dr-|\\.))this(?=.?)/g;\n // const thisRegex = /[^(dr\\-)]this(?=.?)/g;\n // const thisRegex = /[^(dr\\-)]this\\./g;\n // safari \uB54C\uBB38\uC5D0 \uC804\uC704 \uAC80\uC0C9 regex\uAC00 \uC548\uB428 \uC544 \uC9DC\uC99D\uB098\uC11C \uC774\uAC78\uB85C\uD568.\n // element.querySelectorAll(`[${RawSet.DR_PRE_NAME}]`).forEach(it => {\n // let message = it.innerHTML;\n // })\n element.querySelectorAll(`[${RawSet.DR_PRE_NAME}]`).forEach(it => {\n it.innerHTML = it.innerHTML.replace(config.asIs, thisRandom);\n });\n element.querySelectorAll(`[${RawSet.DR_THIS_NAME}]`).forEach(it => {\n // console.log('rrrrrrrrand?', drThis,config);\n let message = it.innerHTML;\n // StringUtils.regexExec(/([^(dr\\-)])?this(?=.?)/g, message).reverse().forEach(it => {\n StringUtils.regexExec(config.asIs, message).reverse().forEach(it => {\n message = message.substr(0, it.index) + message.substr(it.index).replace(it[0], `${it[1] ?? ''}${drThis}`);\n });\n it.innerHTML = message;\n });\n\n // console.log('changggg', element.innerHTML);\n let message = element.innerHTML;\n StringUtils.regexExec(config.asIs, message).reverse().forEach(it => {\n message = message.substr(0, it.index) + message.substr(it.index).replace(it[0], `${it[1] ?? ''}${drThis}`);\n });\n element.innerHTML = message;\n return thisRandom;\n }\n\n public static drThisBindEncoding(element: Element, variable: RegExp, config: { config: DomRenderConfig, otherReplaceVariablePath?: string }) {\n element.querySelectorAll(`[${RawSet.DR_THIS_NAME}]`).forEach(eIt => {\n let message = eIt.innerHTML;\n // StringUtils.regexExec(/([^(dr\\-)])?this(?=.?)/g, message).reverse().forEach(it => {\n StringUtils.regexExec(variable, message).reverse().forEach(it => {\n message = message.substr(0, it.index) + message.substr(it.index).replace(it[0], `${it[1] ?? ''}${eIt.getAttribute(RawSet.DR_THIS_NAME)}`);\n });\n eIt.innerHTML = message;\n });\n\n\n const targetElements = config.config.targetElements ?? [];\n const targetElementNames = targetElements.map(it => it.name.replaceAll('.', '\\\\.').replaceAll(':', '\\\\:')).join(',');\n const thisRandom = RandomUtils.uuid();\n element.querySelectorAll(targetElementNames).forEach(it => {\n it.innerHTML = it.innerHTML.replace(variable, thisRandom);\n });\n\n element.querySelectorAll(`[${RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME}]`).forEach(it => {\n it.innerHTML = it.innerHTML.replace(variable, thisRandom);\n })\n\n\n if (config.otherReplaceVariablePath) {\n let message = element.innerHTML;\n StringUtils.regexExec(variable, message).reverse().forEach(it => {\n message = message.substr(0, it.index) + message.substr(it.index).replace(it[0], `${it[1] ?? ''}${config.otherReplaceVariablePath}`);\n });\n element.innerHTML = message;\n }\n return thisRandom;\n }\n\n public static drThisBindDecoding(element: Element, config: { asIs: string, toBe: string, config: DomRenderConfig }) {\n const targetElements = config.config.targetElements ?? [];\n const targetElementNames = targetElements.map(it => it.name.replaceAll('.', '\\\\.').replaceAll(':', '\\\\:')).join(',');\n element.querySelectorAll(targetElementNames).forEach(it => {\n it.innerHTML = it.innerHTML.replace(RegExp(config.asIs, 'g'), config.toBe);\n });\n element.querySelectorAll(`[${RawSet.DR_REPLACE_TARGET_ELEMENT_IS_NAME}]`).forEach(it => {\n it.innerHTML = it.innerHTML.replace(RegExp(config.asIs, 'g'), config.toBe);\n })\n }\n\n public static drThisDecoding(element: Element, config: { asIs: string, toBe: string }) {\n element.querySelectorAll(`[${RawSet.DR_PRE_NAME}]`).forEach(it => {\n it.innerHTML = it.innerHTML.replace(RegExp(config.asIs, 'g'), config.toBe);\n });\n element.querySelectorAll(`[${RawSet.DR_THIS_NAME}]`).forEach(it => {\n it.innerHTML = it.innerHTML.replace(RegExp(config.asIs, 'g'), config.toBe);\n });\n }\n\n public static drFormOtherMoveAttr(element: Element, as: string, to: string, config: DomRenderConfig) {\n element.querySelectorAll(`[${RawSet.DR_FORM_NAME}]`).forEach(subElement => {\n const nodeIterator = config.window.document?.createNodeIterator(subElement, NodeFilter.SHOW_ELEMENT, {\n acceptNode(node) {\n if (node.nodeType === Node.ELEMENT_NODE) {\n const element = node as Element;\n return element.hasAttribute(as) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;\n } else {\n return NodeFilter.FILTER_REJECT;\n }\n }\n });\n\n let node;\n // eslint-disable-next-line no-cond-assign\n while (node = nodeIterator?.nextNode()) {\n const element = node as Element;\n element.setAttribute(to, element.getAttribute(as) ?? '');\n element.removeAttribute(as);\n }\n });\n }\n\n public static drVarEncoding(element: Element, drVarOption: string) {\n const vars = (drVarOption?.split(',') ?? []).map(it => {\n const s = it.trim().split('=');\n const name = s[0]?.trim();\n const value = s[1]?.trim();\n return {\n name,\n value,\n // regex: RegExp('(?<!(dr-|\\\\.))var\\\\.' + s[0] + '(?=.?)', 'g'),\n regex: RegExp('\\\\$var\\\\.' + name + '(?=.?)', 'g'),\n random: RandomUtils.uuid()\n };\n });\n // console.log('asd', element.innerHTML);\n // element.querySelectorAll(`[${RawSet.DR_THIS_NAME}]`).forEach(it => {\n element.querySelectorAll(`[${RawSet.DR_VAR_OPTIONNAME}]`).forEach(it => {\n vars.filter(vit => vit.value && vit.name).forEach(vit => {\n it.innerHTML = it.innerHTML.replace(vit.regex, vit.random);\n });\n });\n vars.filter(vit => vit.value && vit.name).forEach(vit => {\n element.innerHTML = element.innerHTML.replace(vit.regex, vit.value);\n });\n return vars;\n }\n\n public static async drThisCreate(rawSet: RawSet, element: Element, drThis: string, drVarOption: string, drStripOption: boolean | string | null, obj: any, config: DomRenderConfig, set?: ComponentSet): Promise<DocumentFragment|undefined> {\n // console.log('ttttttttttttttttttttt',element.innerHTML, drThis, set, obj);\n const fag = config.window.document?.createDocumentFragment();\n if(!fag) {\n return ;\n }\n const targetElement = element.cloneNode(true) as Element;\n let targetObj = obj;\n if (set) {\n targetObj = set.obj;\n set.setTemplateStyle(await RawSet.fetchTemplateStyle(set));\n const style = RawSet.generateStyleTransform(set.styles ?? [], rawSet.uuid, true);\n targetElement.innerHTML = style + (set.template ?? '');\n } else {\n targetObj = ScriptUtils.evaluateReturn(ObjectUtils.Path.toOptionalChainPath(drThis), obj);\n }\n\n const componentKey = rawSet.uuid;\n const renderScript = ` /*drThisCreate*/\n // console.log('-----', this.__render);\n var ${EventManager.RENDER_VARNAME} = this.__render; \n var ${EventManager.RAWSET_VARNAME} = this.__render.rawSet; \n var ${EventManager.COMPONENT_VARNAME} = this.__render.component; \n var ${EventManager.ELEMENT_VARNAME} = this.__render.element; \n var ${EventManager.ROUTER_VARNAME} = this.__render.router; \n var ${EventManager.INNER_HTML_VARNAME} = this.__render.innerHTML; \n var ${EventManager.ATTRIBUTE_VARNAME} = this.__render.attribute; \n var ${EventManager.PARENT_THIS_PATH_VARNAME} = this.__render.parentThisPath; \n var ${EventManager.CURRENT_THIS_VARNAME} = this.__render.currentThis; \n var ${EventManager.CURRENT_THIS_PATH_VARNAME} = this.__render.currentThisPath; \n var ${EventManager.PARENT_THIS_VARNAME} = this.__render.parentThis; \n var ${EventManager.NEAR_THIS_PATH_VARNAME} = this.__render.nearThisPath; \n var ${EventManager.NEAR_THIS_VARNAME} = this.__render.nearThis; \n var ${EventManager.CREATOR_META_DATA_VARNAME} = this.__render.creatorMetaData;\n `;\n\n const parentThisPath = rawSet.findParentThisPath();\n const parentThis = rawSet.findParentThis(obj);\n const nearThisPath = rawSet.findNearThisPath();\n const nearThis = rawSet.findNearThis(obj);\n // console.log('ttttttttttttttttt',parentThisPath, parentThis, nearThisPath, nearThis);\n // console.log('-element.innerHTMLelement.innerHTMLelement.innerHTML',element.innerHTML);\n let render = {\n renderScript: renderScript,\n element: element,\n getElement: () => config.window.document.querySelector(`[class*=\"${rawSet.uuid}\"]`),\n innerHTML: element.innerHTML,\n // attribute: ObjectUtils.toDeleteKey(attribute, [...Object.values(RawSet.drAttrsOriginName), ...Object.values(EventManager.VARNAMES)]),\n rawSet: rawSet,\n router: config.router,\n componentKey: componentKey,\n currentThis: targetObj,\n currentThisPath: drThis,\n parentThisPath: parentThisPath,\n parentThis: parentThis,\n nearThisPath: nearThisPath,\n nearThis: nearThis,\n scripts: EventManager.setBindProperty(config.scripts ?? {}, obj)\n } as Render;\n // const attribute = DomUtils.getAttributeToObject(element);\n render.attribute = RawSet.getAttributeObject(element, {script: renderScript, obj: obj, renderData: render})\n render = Object.freeze(render);\n\n // dr-on-create data onCreateRender\n const onCreateDataScript = `return {rootParent: this, render: this.__render}`;\n const onCreateDataParam = ScriptUtils.evaluate<OnCreateRenderDataParams>(onCreateDataScript, Object.assign(obj, {__render: render}));\n if (isOnCreateRenderData(targetObj)) {\n targetObj?.onCreateRenderData(onCreateDataParam as OnCreateRenderDataParams);\n }\n // \uBD80\uBAA8\uC5D0\uAC8C\uB3C4 \uC790\uC2DD this \uC0DD\uC131\uB41C\uAC70 \uC54C\uB824\uC8FC\uB294 callback\n if (onCreateDataParam?.render?.parentThis && isOnCreatedThisChild(onCreateDataParam?.render?.parentThis)) {\n onCreateDataParam.render.parentThis.onCreatedThisChild(targetObj, onCreateDataParam as OnCreateRenderDataParams);\n }\n\n\n // dr-on-create onCreateRender\n const onCreate = element.getAttribute(RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME);\n let createParam: any[] = [];\n if (onCreate) {\n createParam = ScriptUtils.evaluateReturn<any[]>({bodyScript:renderScript, returnScript:ObjectUtils.Path.toOptionalChainPath(onCreate)}, obj)\n if (!Array.isArray(createParam)) {\n createParam = [createParam];\n }\n }\n\n if (isOnCreateRender(targetObj)) {\n targetObj.onCreateRender(...createParam);\n }\n\n // console.log('\uB9E4\uBC88\uD0C0\uB098?');\n // \uC911\uC694 dr-normal-attr-map\n // const normalAttrMap = element.getAttribute(EventManager.normalAttrMapAttrName);\n const targetAttrObject = RawSet.getAttributeObject(element, {script: renderScript, obj: obj, renderData: render});\n if (targetAttrObject) {\n rawSet.dataSet.render ??= {};\n rawSet.dataSet.render.attribute = targetAttrObject;\n Object.entries(targetAttrObject).forEach(([key, cval], index) => {\n // console.log('ooooooooooooooooo', key, cval);\n // const script = `${renderScript} return ${value} `;\n // const cval = ScriptUtils.eval(script, Object.assign(obj, { __render: render }));\n // // element.setAttribute(key, cval);\n if (isOnChangeAttrRender(targetObj)) {\n targetObj.onChangeAttrRender(key, cval, {rawSet: rawSet});\n }\n });\n }\n\n\n // dr-on-component-init\n // const oninit = element.getAttribute(`${EventManager.attrPrefix}on-component-init`); // dr-on-component-init\n const oninit = element.getAttribute(RawSet.DR_ON_CREATED_CALLBACK_OPTIONNAME); // dr-on-component-init\n // console.log('--------drThisCreate!!!', oninit)\n if (oninit) {\n const script = `${renderScript} ${oninit} `;\n ScriptUtils.evaluate(script, Object.assign(obj, {__render: render}));\n }\n\n targetElement.querySelectorAll(EventManager.attrNames.map(it => `[${it}]`).join(',')).forEach(it => {\n it.setAttribute(EventManager.ownerVariablePathAttrName, 'this');\n });\n\n // console.log('targetElement',targetElement);\n // attribute\n // const componentName = element.getAttribute(RawSet.DR_COMPONENT_NAME_OPTIONNAME) ?? 'component';\n const componentNameReplaceKey = RandomUtils.uuid();\n // if (componentName) {\n // RawSet.replaceInnerHTML(element, {asIs: `#${componentName}#`, toBe: 'this'})\n // }\n // const innerHTMLName = element.getAttribute(RawSet.DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME) ?? 'innerHTML';\n // const innerHTMLNameReplaceKey = RandomUtils.uuid();\n // if (innerHTMLName) {\n // RawSet.replaceInnerHTML(element, {asIs: `#${innerHTMLName}#`, toBe: innerHTMLNameReplaceKey})\n // }\n // \uC774\uAC78 \uC65C \uBE90\uC5C8\uC9C0... \uB2E4\uC2DC\uB123\uC5C8\uC74C \uADF8\uB7F0\uB370 \uC870\uAE08 \uB85C\uC9C1\uC774.. \uAC80\uC99D\uC774..\n const innerHTMLName = targetElement.getAttribute(RawSet.DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME) ?? 'innerHTML';\n if (innerHTMLName) {\n RawSet.replaceInnerHTML(targetElement, {asIs: `#${innerHTMLName}#`, toBe: element.innerHTML})\n }\n\n // console.log('aa-asIs', targetElement.innerHTML);\n const optionThisName = targetElement.getAttribute(RawSet.DR_THIS_NAME_OPTIONNAME);\n // console.log('11111111111111', optionThisName)\n targetElement.getAttributeNames().forEach(it => targetElement.setAttribute(it, targetElement.getAttribute(it)!.replace(/#this#/g, drThis)));\n const thisRandom = this.drThisEncoding(targetElement, drThis, {asIs: /@this@/g});\n // console.log('@@@@@@@@@@@@@0', targetElement.innerHTML);\n // let thisNameRandom: string | undefined = undefined;\n if (optionThisName) {\n // console.log('-----0', element.innerHTML, '\\n', targetElement.innerHTML)\n targetElement.innerHTML = targetElement.innerHTML.replaceAll(`@${optionThisName}@`, drThis);\n // console.log('-----1', element.innerHTML, '\\n', targetElement.innerHTML)\n // thisNameRandom = this.drThisBindEncoding(targetElement, new RegExp(`@${optionThisName}@`, 'g'), {config: config, otherReplaceVariablePath: drThis});\n }\n const nearThisRandom = this.drThisBindEncoding(targetElement, /@nearThis@/g, {config: config, otherReplaceVariablePath: rawSet.findNearThisPath()});\n const parentThisRandom = this.drThisBindEncoding(targetElement, /@parentThis@/g, {config: config, otherReplaceVariablePath: rawSet.findParentThisPath()});\n // console.log('@@@@@@@@@@@@@1', targetElement.innerHTML, rawSet.findParentThisPath());\n // console.log('@@@@@@@@@@@@@-----------', rawSet.point?.parentRawSet?.point?.start, rawSet.point?.parentRawSet?.point?.start instanceof HTMLMetaElement);\n // if (rawSet.point?.parentRawSet?.point?.start instanceof HTMLMetaElement) {\n // console.log('@@@@@@@@@@@@@-----------', rawSet.point?.parentRawSet?.point?.start.getAttribute('this-path'));\n // }\n // console.log('@@@@@@@@@@@@@2', targetElement.innerHTML);\n // const nearThisRandom = this.drThisEncoding(targetElement, rawSet.findNearThisPath(), {asIs: /@nearThis@/g});\n // const parentThisRandom = this.drThisEncoding(targetElement, rawSet.findParentThisPath(), {asIs: /@parentThis@/g});\n // console.log('aa-toBe', targetElement.innerHTML);\n // console.log('------', rawSet.findNearThisPath());\n // console.log('------', rawSet.findParentThisPath());\n const vars = this.drVarEncoding(targetElement, drVarOption);\n this.drVarDecoding(targetElement, vars);\n this.drThisDecoding(targetElement, {asIs: thisRandom, toBe: '@this@'});\n // if (optionThisName && thisNameRandom)\n // this.drThisBindDecoding(targetElement, {config: config, asIs: thisNameRandom, toBe: `@${optionThisName}@`});\n this.drThisBindDecoding(targetElement, {config: config, asIs: nearThisRandom, toBe: '@nearThis@'});\n this.drThisBindDecoding(targetElement, {config: config, asIs: parentThisRandom, toBe: '@parentThis@'});\n // if (componentName) {\n // RawSet.replaceInnerHTML(element, {asIs: componentNameReplaceKey, toBe: `#${componentName}#`})\n // }\n // if (innerHTMLName) {\n // RawSet.replaceInnerHTML(targetElement, {asIs: innerHTMLNameReplaceKey, toBe: `#${innerHTMLName}#`})\n // }\n // console.log('ddddddddddddd', targetElement.innerHTML);\n if (drStripOption && (drStripOption === true || drStripOption === 'true')) {\n // console.log('------childNodes', Array.from(n.childNodes))\n Array.from(targetElement.childNodes).forEach(it => fag.append(it));\n } else {\n targetElement.classList.add(`${rawSet.uuid}`)\n fag.append(targetElement);\n }\n // (fag as any).__domrender_this_variable_name = drThis;\n // console.log('set __domrender_this_variable_name', (fag as any).__domrender_this_variable_name)\n return fag;\n }\n\n private static async fetchTemplateStyle(set: { template?: string, styles?: string | (string[]) }) {\n // const id = RandomUtils.getRandomString(20);\n const stylePromises: Promise<string>[] = [];\n const templatePromise = (set.template && set.template.startsWith('lazy://') ? (await fetch(set.template.substring(6))).text() : Promise.resolve(set.template));\n if (Array.isArray(set.styles)) {\n for (let i = 0; set.styles && i < (set.styles.length ?? 0); i++) {\n const it = set.styles[i];\n stylePromises.push(it.startsWith('lazy://') ? (await fetch(it.substring(6))).text() : Promise.resolve(it));\n }\n } else if (set.styles) {\n stylePromises.push(Promise.resolve(set.styles));\n }\n // const tempTemplate = config.window.document.createElement('template');\n // tempTemplate.innerHTML = await templatePromise;\n // const tempContainer = config.window.document.createElement('div');\n return {\n template: await templatePromise,\n styles: await Promise.all(stylePromises)\n };\n }\n\n public static createComponentTargetAttribute(name: string, getThisObj: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => any, factory: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => DocumentFragment) {\n const targetAttribute: TargetAttr = {\n name,\n callBack(element: Element, attrValue: string, obj: any, rawSet: RawSet): DocumentFragment {\n const thisObj = getThisObj(element, attrValue, obj, rawSet);\n const data = factory(element, attrValue, obj, rawSet);\n // rawSet.point.thisVariableName = (data as any).__domrender_this_variable_name;\n if (thisObj) {\n // const i = thisObj.__domrender_component_new = (thisObj.__domrender_component_new ?? new Proxy({}, new DomRenderFinalProxy())) as CreatorMetaData;\n // i.thisVariableName = rawSet.point.thisVariableName;\n // i.rawSet = rawSet;\n // i.innerHTML = element.innerHTML;\n // i.rootCreator = new Proxy(obj, new DomRenderFinalProxy());\n // i.creator = new Proxy(rawSet.point.thisVariableName ? ScriptUtils.evalReturn(rawSet.point.thisVariableName, obj) : obj, new DomRenderFinalProxy());\n }\n return data;\n }\n\n };\n return targetAttribute;\n }\n\n public static createComponentTargetElement(\n {name, objFactory, template = '', styles = [], noStrip}: {\n name: string,\n noStrip?: boolean;\n objFactory: (element: Element, obj: any, rawSet: RawSet, counstructorParam: any[]) => any,\n template?: string,\n styles?: string | (string[])\n }\n ): TargetElement {\n\n const targetElement: TargetElement = {\n name,\n styles,\n template,\n noStrip,\n async callBack(element: Element, obj: any, rawSet: RawSet, attrs: Attrs, config: DomRenderConfig): Promise<DocumentFragment | undefined> {\n const templateStyle = await RawSet.fetchTemplateStyle({template: this.template, styles: this.styles});\n this.template = templateStyle.template;\n this.styles = templateStyle.styles;\n obj.__domrender_components ??= {};\n const domrenderComponents = obj.__domrender_components;\n // debugger;\n const renderScript = ` /*createComponentTargetElement*/\n // console.log('-------------------',this.__render);\n var ${EventManager.RAWSET_VARNAME} = this.__render.rawSet; \n var ${EventManager.COMPONENT_VARNAME} = this.__render.component; \n var ${EventManager.ELEMENT_VARNAME} = this.__render.element; \n var ${EventManager.ROUTER_VARNAME} = this.__render.router; \n var ${EventManager.INNER_HTML_VARNAME} = this.__render.innerHTML; \n var ${EventManager.ATTRIBUTE_VARNAME} = this.__render.attribute; \n var ${EventManager.PARENT_THIS_PATH_VARNAME} = this.__render.parentThisPath; \n var ${EventManager.PARENT_THIS_VARNAME} = this.__render.parentThis; \n var ${EventManager.NEAR_THIS_PATH_VARNAME} = this.__render.nearThisPath; \n var ${EventManager.NEAR_THIS_VARNAME} = this.__render.nearThis; \n var ${EventManager.CREATOR_META_DATA_VARNAME} = this.__render.creatorMetaData;\n `;\n const parentThisPath = rawSet.findParentThisPath();\n const parentThis = rawSet.findParentThis(obj);\n const nearThisPath = rawSet.findNearThisPath();\n const nearThis = rawSet.findNearThis(obj);\n let render = {\n renderScript,\n element: element,\n innerHTML: element.innerHTML,\n // attribute: attribute,\n getElement: () => config.window.document.querySelector(`[class*=\"${rawSet.uuid}\"]`),\n rawSet: rawSet,\n router: config.router,\n componentKey: rawSet.uuid,\n nearThisPath: nearThisPath,\n nearThis: nearThis,\n parentThisPath: parentThisPath,\n parentThis: parentThis,\n scripts: EventManager.setBindProperty(config.scripts ?? {}, obj)\n } as Render;\n const constructor = element.getAttribute(RawSet.DR_ON_CONSTRUCTOR_ARGUMENTS_OPTIONNAME);\n let constructorParam = [];\n // script \uBD80\uBD84\uC740 \uCC98\uB9AC\uB418\uC5B4 \uBC14\uC778\uB529 \uC2DC\uCF1C\uC900\uB2E4\n render.attribute = RawSet.getAttributeObject(element, {script: renderScript, obj: obj, renderData: render})\n render = Object.freeze(render);\n //\n // // dr-constructor\n if (constructor) {\n let param = ScriptUtils.evaluateReturn({bodyScript: renderScript, returnScript: ObjectUtils.Path.toOptionalChainPath(constructor)}, Object.assign(obj, {__render: render})) ?? [];\n if (!Array.isArray(param)) {\n param = [param];\n }\n constructorParam = param;\n }\n\n\n // // console.log('------22', attrs);\n const instance = domrenderComponents[rawSet.uuid] = objFactory(element, obj, rawSet, constructorParam);\n render = {\n currentThis: instance,\n // creatorMetaData: i,\n ...render\n };\n rawSet.dataSet.render = render;\n // \uCD94\uC801 \uBC0F destroy \uC704\uD574.\n instance.__rawSet = rawSet;\n\n //\n // const i = instance.__domrender_component_new = (instance.__domrender_component_new ?? new Proxy({}, new DomRenderFinalProxy())) as CreatorMetaData;\n // i.thisVariableName = rawSet.point.thisVariableName;\n // i.thisFullVariableName = `this.__domrender_components.${componentKey}`;\n // i.componentKey = componentKey;\n // i.rawSet = rawSet;\n // i.attribute = attribute;\n // i.router = config.router;\n // i.scripts = render.scripts;\n // i.drAttrs = attrs;\n // i.innerHTML = element.innerHTML;\n // i.rootCreator = new Proxy(obj, new DomRenderFinalProxy());\n // i.creator = new Proxy(rawSet.point.thisVariableName ? ScriptUtils.evalReturn(rawSet.point.thisVariableName, obj) : obj, new DomRenderFinalProxy());\n // this.__creatorMetaData = i;\n // render = {\n // component: instance,\n // creatorMetaData: i,\n // ...render\n // };\n //\n // // \uC911\uC694 dr-normal-attr-map\n // const normalAttrMap = element.getAttribute(EventManager.normalAttrMapAttrName);\n // if (isOnChangeAttrRender(instance) && normalAttrMap) {\n // new Map<string, string>(JSON.parse(normalAttrMap)).forEach((value, key) => {\n // const script = `${renderScript} return ${value} `;\n // const cval = ScriptUtils.eval(script, Object.assign(obj, { __render: render }));\n // // element.setAttribute(key, cval);\n // instance.onChangeAttrRender(key, cval);\n // });\n // }\n //\n // // dr-on-create data\n // const onCreateDataScript = `return {rootParent: this, render: this.__render}`;\n // const onCreateDataParam = ScriptUtils.eval(onCreateDataScript, Object.assign(obj, { __render: render }));\n // if (isOnCreateRenderData(instance)) {\n // instance?.onCreateRenderData(onCreateDataParam);\n // }\n //\n // // dr-on-create onCreateRender\n // const onCreate = element.getAttribute(RawSet.DR_ON_CREATE_ARGUMENTS_OPTIONNAME);\n // this.__render = render;\n // let createParam = [];\n // if (onCreate) {\n // const script = `${renderScript} return ${onCreate} `;\n // createParam = ScriptUtils.eval(script, Object.assign(obj, { __render: render }));\n // if (!Array.isArray(createParam)) {\n // createParam = [createParam];\n // }\n // }\n // if (isOnCreateRender(instance)) {\n // instance?.onCreateRender?.(...createParam);\n // }\n let applayTemplate = element.innerHTML;\n let innerHTMLThisRandom;\n const componentName = element.getAttribute(RawSet.DR_COMPONENT_NAME_OPTIONNAME) ?? 'component';\n const innerHTMLName = element.getAttribute(RawSet.DR_COMPONENT_INNER_HTML_NAME_OPTIONNAME) ?? 'innerHTML';\n if (applayTemplate) {\n // if (rawSet.point.thisVariableName) {\n // \uB118\uC5B4\uC628 innerHTML\uC5D0 this\uAC00 \uC788\uC73C\uBA74 \uD574\uB2F9\uC548\uB418\uAC8C \uC6B0\uC120 \uCE58\uD658.\n innerHTMLThisRandom = RandomUtils.uuid();\n applayTemplate = applayTemplate.replace(/this\\./g, innerHTMLThisRandom);\n // }\n applayTemplate = applayTemplate.replace(RegExp(`#${componentName}#`, 'g'), 'this');\n }\n // applayTemplate = template.replace(RegExp(`#${innerHTMLName}#`, 'g'), applayTemplate);\n applayTemplate = (this.template ?? '').replace(RegExp(`#${innerHTMLName}#`, 'g'), applayTemplate);\n // dr-on-component-init\n // const oninit = element.getAttribute(`${EventManager.attrPrefix}on-component-init`); // dr-on-component-init\n // const oninit = element.getAttribute(RawSet.DR_ON_CREATED_CALLBACK_OPTIONNAME); // dr-on-component-init\n // if (oninit) {\n // const script = `${renderScript} ${oninit} `;\n // ScriptUtils.eval(script, Object.assign(obj, {\n // __render: render\n // }));\n // }\n\n const style = RawSet.generateStyleTransform(this.styles, rawSet.uuid, true);\n element.innerHTML = style + (applayTemplate ?? '');\n\n // \uC5EC\uAE30\uC11C targetElement\uC758 \uC637\uC744 \uBC97\uAE34\uB2E4.\n // console.log('---createComponentTargetElement', element);\n let data = await RawSet.drThisCreate(rawSet, element, `this.__domrender_components.${rawSet.uuid}`, '', !noStrip, obj, config);\n // const tempDiv = document.createElement(\"div\");\n // tempDiv.appendChild(data.cloneNode(true)); // \uC6D0\uBCF8 \uBCF4\uC874\n // console.log('-------------ddddddddddddd', element.innerHTML, tempDiv.innerHTML);\n // let data = await RawSet.drThisCreate(rawSet, element, `this.__domrender_components.${componentKey}`, '', false, obj, config);\n\n // \uB118\uC5B4\uC628 innerHTML\uC5D0 this\uAC00 \uC788\uB294\uAC78 \uB2E4\uC2DC \uBCF5\uD638\uD654\uD574\uC11C \uC81C\uB300\uB85C \uC791\uB3D9\uD558\uB3C4\uB85D\uD55C\uB2E4. \uBD80\uBAA8\uC5D0\uC11C\uC758 this\uBA74 \uBD80\uBAA8\uAEC4\uB85C \uC791\uB3D9\uB418\uAC8C\n if (data && innerHTMLThisRandom) {\n const template = config.window.document.createElement('template') as HTMLTemplateElement;\n template.content.append(data);\n template.innerHTML = template.innerHTML.replace(RegExp(innerHTMLThisRandom, 'g'), 'this.');\n data = template.content;\n }\n // (data as any).render = render;\n return data;\n }\n // complete\n };\n return targetElement;\n }\n\n public static isExpression(data: string | null) {\n // const reg = /(?:[$#]\\{(?:(([$#]\\{)??[^$#]?[^{]*?)\\}[$#]))/g;\n const reg = /[$#]\\{([\\s\\S.]*?)\\}[$#]/g;\n return reg.test(data ?? '');\n }\n\n public static expressionGroups(data: string | null) {\n // const reg = /(?:[$#]\\{(?:(([$#]\\{)??[^$#]*?)\\}[$#]))/g;\n // const reg = /(?:[$#]\\{(?:(([$#]\\{)??[^$#]?[^{]*?)\\}[$#]))/g;\n const reg = /[$#]\\{([\\s\\S.]*?)\\}[$#]/g;\n return StringUtils.regexExec(reg, data ?? '');\n }\n\n public static destroy(obj: any | undefined, parameter: OnDestroyRenderParams, config: DomRenderConfig, destroyOptions: (DestroyOptionType | string)[] = []): void {\n // console.log('destroy destroydestroydestroydestroy', obj, parameter, config, destroyOptions);\n if (!destroyOptions.some(it => it === DestroyOptionType.NO_DESTROY)) {\n if (!destroyOptions.some(it => it === DestroyOptionType.NO_MESSENGER_DESTROY)) {\n if (config.messenger && obj) {\n config.messenger.deleteChannelFromObj(obj);\n }\n }\n // console.log('------------destroy', obj);\n if (isOnDestroyRender(obj)) {\n obj.onDestroyRender?.(parameter);\n }\n }\n }\n\n\n public findNearThis = (obj: any, rawSet: RawSet = this) => {\n const path = this.findNearThisPath(rawSet);\n if (path) {\n const optionalPath = ObjectUtils.Path.toOptionalChainPath(path);\n // console.log('ppppp-', path, optionalPath)\n return ScriptUtils.evaluateReturn(optionalPath, obj);\n }\n };\n\n public findParentThis = (obj: any, rawSet: RawSet = this) => {\n const path = this.findParentThisPath(rawSet);\n if (path) {\n const optionalPath = ObjectUtils.Path.toOptionalChainPath(path);\n return ScriptUtils.evaluateReturn(optionalPath, obj);\n }\n };\n\n public findNearThisPath = (rawSet: RawSet = this): string | undefined => {\n const paths = this.findThisPaths(rawSet);\n return paths[paths.length - 1];\n };\n\n public findParentThisPath = (rawSet: RawSet = this): string | undefined => {\n const paths = this.findThisPaths(rawSet);\n return paths[paths.length - 2];\n };\n\n public findThisPaths = (rawSet: RawSet = this): string[] => {\n const paths: string[] = [];\n const findPath = (rawSet: RawSet) => {\n if (rawSet && rawSet.point) {\n // jsDom\uC5D0\uC11C instranceof HTMLMetaElement\uAC00 \uC548\uBA39\uD788\uB294\uAC83\uAC19\uC544? \uAC04\uD608\uC801\uC73C\uB85C?\n if ('getAttribute' in rawSet.point.start && rawSet.point.start.getAttribute('this-path')) {\n paths.push(rawSet.point.start.getAttribute('this-path')!);\n }\n if (rawSet.point.parentRawSet)\n findPath(rawSet.point.parentRawSet);\n }\n };\n findPath(rawSet);\n paths.push('this');\n return paths.reverse();\n };\n\n public static getAttributeObject(element: Element, config: { script: string, obj: any, renderData?: any }) {\n if (!element) {\n return undefined;\n }\n const attribute = ElementUtils.getAttributeToObject(element);\n const normalAttribute = attribute[EventManager.normalAttrMapAttrName];\n if (normalAttribute) {\n new Map<string, string>(JSON.parse(normalAttribute)).forEach((v, k) => {\n const cval = ScriptUtils.evaluateReturn({bodyScript: config.script, returnScript: v}, Object.assign(config.obj, config.renderData ? {__render:config.renderData} : undefined));\n attribute[k] = cval;\n });\n }\n return attribute;\n }\n\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["rawSet", "drAttrs", "element", "message", "it", "node", "template"]
|
|
7
7
|
}
|