@saolabs/client 1.0.0 → 1.1.0
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/README.md +52 -195
- package/dist/index.d.ts +20 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -3
- package/dist/index.js.map +1 -1
- package/dist/plugins.d.ts +2 -2
- package/dist/plugins.js +2 -2
- package/dist/src/core/app/Application.d.ts +25 -15
- package/dist/src/core/app/Application.d.ts.map +1 -1
- package/dist/src/core/app/Application.js +55 -18
- package/dist/src/core/app/Application.js.map +1 -1
- package/dist/src/core/bootstrap/app.d.ts +1 -1
- package/dist/src/core/bootstrap/app.d.ts.map +1 -1
- package/dist/src/core/bootstrap/app.js +77 -4
- package/dist/src/core/bootstrap/app.js.map +1 -1
- package/dist/src/core/bootstrap/bundle.d.ts +41 -0
- package/dist/src/core/bootstrap/bundle.d.ts.map +1 -0
- package/dist/src/core/bootstrap/bundle.js +98 -0
- package/dist/src/core/bootstrap/bundle.js.map +1 -0
- package/dist/src/core/bootstrap/providers/ApiServiceProvider.d.ts +1 -1
- package/dist/src/core/bootstrap/providers/ApiServiceProvider.d.ts.map +1 -1
- package/dist/src/core/bootstrap/providers/ApiServiceProvider.js +3 -3
- package/dist/src/core/bootstrap/providers/ApiServiceProvider.js.map +1 -1
- package/dist/src/core/bootstrap/providers/CoreServiceProvider.d.ts +1 -1
- package/dist/src/core/bootstrap/providers/CoreServiceProvider.d.ts.map +1 -1
- package/dist/src/core/bootstrap/providers/CoreServiceProvider.js +11 -8
- package/dist/src/core/bootstrap/providers/CoreServiceProvider.js.map +1 -1
- package/dist/src/core/bootstrap/providers/HelperServiceProvider.d.ts +3 -1
- package/dist/src/core/bootstrap/providers/HelperServiceProvider.d.ts.map +1 -1
- package/dist/src/core/bootstrap/providers/HelperServiceProvider.js +8 -3
- package/dist/src/core/bootstrap/providers/HelperServiceProvider.js.map +1 -1
- package/dist/src/core/bootstrap/providers/RouteServiceProvider.d.ts +2 -1
- package/dist/src/core/bootstrap/providers/RouteServiceProvider.d.ts.map +1 -1
- package/dist/src/core/bootstrap/providers/RouteServiceProvider.js +14 -4
- package/dist/src/core/bootstrap/providers/RouteServiceProvider.js.map +1 -1
- package/dist/src/core/bootstrap/providers/ServiceProvider.d.ts +4 -4
- package/dist/src/core/bootstrap/providers/ServiceProvider.d.ts.map +1 -1
- package/dist/src/core/bootstrap/providers/ServiceProvider.js +5 -5
- package/dist/src/core/bootstrap/providers/ServiceProvider.js.map +1 -1
- package/dist/src/core/bootstrap/providers/ViewServiceProvider.d.ts +1 -1
- package/dist/src/core/bootstrap/providers/ViewServiceProvider.d.ts.map +1 -1
- package/dist/src/core/bootstrap/providers/ViewServiceProvider.js +3 -3
- package/dist/src/core/bootstrap/providers/ViewServiceProvider.js.map +1 -1
- package/dist/src/core/bootstrap/providers/default-providers.d.ts +1 -1
- package/dist/src/core/bootstrap/providers/default-providers.d.ts.map +1 -1
- package/dist/src/core/bootstrap/providers/default-providers.js +44 -11
- package/dist/src/core/bootstrap/providers/default-providers.js.map +1 -1
- package/dist/src/core/bootstrap/providers/index.d.ts +9 -9
- package/dist/src/core/bootstrap/providers/index.d.ts.map +1 -1
- package/dist/src/core/bootstrap/providers/index.js +8 -8
- package/dist/src/core/bootstrap/providers/index.js.map +1 -1
- package/dist/src/core/bootstrap/providers/provider-order.d.ts +1 -1
- package/dist/src/core/bootstrap/providers/provider-order.d.ts.map +1 -1
- package/dist/src/core/bootstrap/ssr.d.ts +47 -0
- package/dist/src/core/bootstrap/ssr.d.ts.map +1 -0
- package/dist/src/core/bootstrap/ssr.js +129 -0
- package/dist/src/core/bootstrap/ssr.js.map +1 -0
- package/dist/src/core/cache/ViewCache.d.ts +1 -1
- package/dist/src/core/cache/ViewCache.d.ts.map +1 -1
- package/dist/src/core/cache/index.d.ts +1 -1
- package/dist/src/core/cache/index.d.ts.map +1 -1
- package/dist/src/core/cache/index.js +1 -1
- package/dist/src/core/cache/index.js.map +1 -1
- package/dist/src/core/contracts/ApplicationInterface.d.ts +15 -11
- package/dist/src/core/contracts/ApplicationInterface.d.ts.map +1 -1
- package/dist/src/core/contracts/BlockInterface.d.ts +10 -10
- package/dist/src/core/contracts/BlockInterface.d.ts.map +1 -1
- package/dist/src/core/contracts/BundleInterface.d.ts +38 -0
- package/dist/src/core/contracts/BundleInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/BundleInterface.js +2 -0
- package/dist/src/core/contracts/BundleInterface.js.map +1 -0
- package/dist/src/core/contracts/ComponentInterface.d.ts +7 -6
- package/dist/src/core/contracts/ComponentInterface.d.ts.map +1 -1
- package/dist/src/core/contracts/ElementInterface.d.ts +91 -27
- package/dist/src/core/contracts/ElementInterface.d.ts.map +1 -1
- package/dist/src/core/contracts/HeadServiceInterface.d.ts +37 -0
- package/dist/src/core/contracts/HeadServiceInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/HeadServiceInterface.js +3 -0
- package/dist/src/core/contracts/HeadServiceInterface.js.map +1 -0
- package/dist/src/core/contracts/HelperInterface.d.ts +9 -1
- package/dist/src/core/contracts/HelperInterface.d.ts.map +1 -1
- package/dist/src/core/contracts/HttpServiceInterface.d.ts +3 -0
- package/dist/src/core/contracts/HttpServiceInterface.d.ts.map +1 -1
- package/dist/src/core/contracts/MarkerInterface.d.ts +29 -44
- package/dist/src/core/contracts/MarkerInterface.d.ts.map +1 -1
- package/dist/src/core/contracts/ReactiveInterface.d.ts +9 -9
- package/dist/src/core/contracts/ReactiveInterface.d.ts.map +1 -1
- package/dist/src/core/contracts/RouterInterface.d.ts +5 -2
- package/dist/src/core/contracts/RouterInterface.d.ts.map +1 -1
- package/dist/src/core/contracts/SectionInterface.d.ts +48 -0
- package/dist/src/core/contracts/SectionInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/SectionInterface.js +2 -0
- package/dist/src/core/contracts/SectionInterface.js.map +1 -0
- package/dist/src/core/contracts/ServiceProviderInterface.d.ts +3 -3
- package/dist/src/core/contracts/ServiceProviderInterface.d.ts.map +1 -1
- package/dist/src/core/contracts/ViewControllerInterface.d.ts +116 -15
- package/dist/src/core/contracts/ViewControllerInterface.d.ts.map +1 -1
- package/dist/src/core/contracts/ViewInterface.d.ts +31 -5
- package/dist/src/core/contracts/ViewInterface.d.ts.map +1 -1
- package/dist/src/core/contracts/ViewManagerInterface.d.ts +47 -5
- package/dist/src/core/contracts/ViewManagerInterface.d.ts.map +1 -1
- package/dist/src/core/contracts/ViewStateInterface.d.ts +39 -2
- package/dist/src/core/contracts/ViewStateInterface.d.ts.map +1 -1
- package/dist/src/core/contracts/common.d.ts +3 -3
- package/dist/src/core/contracts/common.js +3 -3
- package/dist/src/core/contracts/utils.d.ts +19 -19
- package/dist/src/core/contracts/utils.d.ts.map +1 -1
- package/dist/src/core/contracts/views.d.ts +1 -22
- package/dist/src/core/contracts/views.d.ts.map +1 -1
- package/dist/src/core/devtools/hook.d.ts +66 -0
- package/dist/src/core/devtools/hook.d.ts.map +1 -0
- package/dist/src/core/devtools/hook.js +114 -0
- package/dist/src/core/devtools/hook.js.map +1 -0
- package/dist/src/core/devtools/index.d.ts +34 -0
- package/dist/src/core/devtools/index.d.ts.map +1 -0
- package/dist/src/core/devtools/index.js +33 -0
- package/dist/src/core/devtools/index.js.map +1 -0
- package/dist/src/core/devtools/inspector.d.ts +31 -0
- package/dist/src/core/devtools/inspector.d.ts.map +1 -0
- package/dist/src/core/devtools/inspector.js +249 -0
- package/dist/src/core/devtools/inspector.js.map +1 -0
- package/dist/src/core/elements/Block.d.ts +9 -7
- package/dist/src/core/elements/Block.d.ts.map +1 -1
- package/dist/src/core/elements/Block.js +33 -9
- package/dist/src/core/elements/Block.js.map +1 -1
- package/dist/src/core/elements/BlockOutlet.d.ts +19 -8
- package/dist/src/core/elements/BlockOutlet.d.ts.map +1 -1
- package/dist/src/core/elements/BlockOutlet.js +57 -13
- package/dist/src/core/elements/BlockOutlet.js.map +1 -1
- package/dist/src/core/elements/Component.d.ts +83 -11
- package/dist/src/core/elements/Component.d.ts.map +1 -1
- package/dist/src/core/elements/Component.js +334 -13
- package/dist/src/core/elements/Component.js.map +1 -1
- package/dist/src/core/elements/ForeachSlotCache.d.ts +95 -0
- package/dist/src/core/elements/ForeachSlotCache.d.ts.map +1 -0
- package/dist/src/core/elements/ForeachSlotCache.js +149 -0
- package/dist/src/core/elements/ForeachSlotCache.js.map +1 -0
- package/dist/src/core/elements/Fragment.d.ts +19 -13
- package/dist/src/core/elements/Fragment.d.ts.map +1 -1
- package/dist/src/core/elements/Fragment.js +43 -20
- package/dist/src/core/elements/Fragment.js.map +1 -1
- package/dist/src/core/elements/Html.d.ts +89 -12
- package/dist/src/core/elements/Html.d.ts.map +1 -1
- package/dist/src/core/elements/Html.js +707 -106
- package/dist/src/core/elements/Html.js.map +1 -1
- package/dist/src/core/elements/Output.d.ts +34 -10
- package/dist/src/core/elements/Output.d.ts.map +1 -1
- package/dist/src/core/elements/Output.js +141 -26
- package/dist/src/core/elements/Output.js.map +1 -1
- package/dist/src/core/elements/Reactive.d.ts +85 -14
- package/dist/src/core/elements/Reactive.d.ts.map +1 -1
- package/dist/src/core/elements/Reactive.js +315 -41
- package/dist/src/core/elements/Reactive.js.map +1 -1
- package/dist/src/core/elements/TextElement.d.ts +11 -7
- package/dist/src/core/elements/TextElement.d.ts.map +1 -1
- package/dist/src/core/elements/TextElement.js +18 -11
- package/dist/src/core/elements/TextElement.js.map +1 -1
- package/dist/src/core/elements/Wrapper.d.ts +24 -13
- package/dist/src/core/elements/Wrapper.d.ts.map +1 -1
- package/dist/src/core/elements/Wrapper.js +65 -8
- package/dist/src/core/elements/Wrapper.js.map +1 -1
- package/dist/src/core/elements/Yield.d.ts +10 -9
- package/dist/src/core/elements/Yield.d.ts.map +1 -1
- package/dist/src/core/elements/Yield.js +31 -19
- package/dist/src/core/elements/Yield.js.map +1 -1
- package/dist/src/core/elements/helpers.d.ts +7 -7
- package/dist/src/core/elements/helpers.d.ts.map +1 -1
- package/dist/src/core/elements/helpers.js +4 -4
- package/dist/src/core/elements/index.d.ts +12 -11
- package/dist/src/core/elements/index.d.ts.map +1 -1
- package/dist/src/core/elements/index.js +12 -11
- package/dist/src/core/elements/index.js.map +1 -1
- package/dist/src/core/elements/reconcileChildren.d.ts +7 -0
- package/dist/src/core/elements/reconcileChildren.d.ts.map +1 -0
- package/dist/src/core/elements/reconcileChildren.js +74 -0
- package/dist/src/core/elements/reconcileChildren.js.map +1 -0
- package/dist/src/core/helpers/ApiClient.d.ts.map +1 -0
- package/dist/src/core/{hellpers → helpers}/ApiClient.js +10 -1
- package/dist/src/core/helpers/ApiClient.js.map +1 -0
- package/dist/src/core/helpers/app.d.ts +3 -0
- package/dist/src/core/helpers/app.d.ts.map +1 -0
- package/dist/src/core/{hellpers → helpers}/app.js +11 -1
- package/dist/src/core/helpers/app.js.map +1 -0
- package/dist/src/core/helpers/transition.d.ts +34 -0
- package/dist/src/core/helpers/transition.d.ts.map +1 -0
- package/dist/src/core/helpers/transition.js +118 -0
- package/dist/src/core/helpers/transition.js.map +1 -0
- package/dist/src/core/{hellpers → helpers}/utils.d.ts +2 -2
- package/dist/src/core/helpers/utils.d.ts.map +1 -0
- package/dist/src/core/{hellpers → helpers}/utils.js +4 -4
- package/dist/src/core/helpers/utils.js.map +1 -0
- package/dist/src/core/helpers/view.d.ts +39 -0
- package/dist/src/core/helpers/view.d.ts.map +1 -0
- package/dist/src/core/helpers/view.js +286 -0
- package/dist/src/core/helpers/view.js.map +1 -0
- package/dist/src/core/routers/Router.d.ts +108 -7
- package/dist/src/core/routers/Router.d.ts.map +1 -1
- package/dist/src/core/routers/Router.js +444 -68
- package/dist/src/core/routers/Router.js.map +1 -1
- package/dist/src/core/routers/index.d.ts +2 -2
- package/dist/src/core/routers/index.d.ts.map +1 -1
- package/dist/src/core/routers/index.js +1 -1
- package/dist/src/core/routers/index.js.map +1 -1
- package/dist/src/core/services/AssetManager.d.ts +112 -0
- package/dist/src/core/services/AssetManager.d.ts.map +1 -0
- package/dist/src/core/services/AssetManager.js +361 -0
- package/dist/src/core/services/AssetManager.js.map +1 -0
- package/dist/src/core/services/BlockManager.d.ts +73 -2
- package/dist/src/core/services/BlockManager.d.ts.map +1 -1
- package/dist/src/core/services/BlockManager.js +270 -48
- package/dist/src/core/services/BlockManager.js.map +1 -1
- package/dist/src/core/services/DomService.js +3 -3
- package/dist/src/core/services/DomService.js.map +1 -1
- package/dist/src/core/services/HeadService.d.ts +24 -0
- package/dist/src/core/services/HeadService.d.ts.map +1 -0
- package/dist/src/core/services/HeadService.js +120 -0
- package/dist/src/core/services/HeadService.js.map +1 -0
- package/dist/src/core/services/HelperService.d.ts +14 -3
- package/dist/src/core/services/HelperService.d.ts.map +1 -1
- package/dist/src/core/services/HelperService.js +32 -2
- package/dist/src/core/services/HelperService.js.map +1 -1
- package/dist/src/core/services/HttpService.d.ts +8 -0
- package/dist/src/core/services/HttpService.d.ts.map +1 -1
- package/dist/src/core/services/HttpService.js +121 -47
- package/dist/src/core/services/HttpService.js.map +1 -1
- package/dist/src/core/services/MarkerRegistry.d.ts +51 -8
- package/dist/src/core/services/MarkerRegistry.d.ts.map +1 -1
- package/dist/src/core/services/MarkerRegistry.js +135 -14
- package/dist/src/core/services/MarkerRegistry.js.map +1 -1
- package/dist/src/core/services/PageCache.d.ts +101 -0
- package/dist/src/core/services/PageCache.d.ts.map +1 -0
- package/dist/src/core/services/PageCache.js +184 -0
- package/dist/src/core/services/PageCache.js.map +1 -0
- package/dist/src/core/services/SectionManager.d.ts +100 -0
- package/dist/src/core/services/SectionManager.d.ts.map +1 -0
- package/dist/src/core/services/SectionManager.js +408 -0
- package/dist/src/core/services/SectionManager.js.map +1 -0
- package/dist/src/core/services/StorageService.js +1 -1
- package/dist/src/core/services/TranslationService.d.ts +21 -0
- package/dist/src/core/services/TranslationService.d.ts.map +1 -0
- package/dist/src/core/services/TranslationService.js +95 -0
- package/dist/src/core/services/TranslationService.js.map +1 -0
- package/dist/src/core/services/index.d.ts +11 -8
- package/dist/src/core/services/index.d.ts.map +1 -1
- package/dist/src/core/services/index.js +11 -8
- package/dist/src/core/services/index.js.map +1 -1
- package/dist/src/core/types/utils.d.ts +8 -8
- package/dist/src/core/types/utils.d.ts.map +1 -1
- package/dist/src/core/view/LoopContext.d.ts +21 -1
- package/dist/src/core/view/LoopContext.d.ts.map +1 -1
- package/dist/src/core/view/LoopContext.js +36 -0
- package/dist/src/core/view/LoopContext.js.map +1 -1
- package/dist/src/core/view/ResourceScope.d.ts +38 -0
- package/dist/src/core/view/ResourceScope.d.ts.map +1 -0
- package/dist/src/core/view/ResourceScope.js +167 -0
- package/dist/src/core/view/ResourceScope.js.map +1 -0
- package/dist/src/core/view/Section.d.ts +17 -32
- package/dist/src/core/view/Section.d.ts.map +1 -1
- package/dist/src/core/view/Section.js +14 -55
- package/dist/src/core/view/Section.js.map +1 -1
- package/dist/src/core/view/View.d.ts +43 -7
- package/dist/src/core/view/View.d.ts.map +1 -1
- package/dist/src/core/view/View.js +22 -4
- package/dist/src/core/view/View.js.map +1 -1
- package/dist/src/core/view/ViewController.d.ts +313 -40
- package/dist/src/core/view/ViewController.d.ts.map +1 -1
- package/dist/src/core/view/ViewController.js +1002 -147
- package/dist/src/core/view/ViewController.js.map +1 -1
- package/dist/src/core/view/ViewManager.d.ts +318 -27
- package/dist/src/core/view/ViewManager.d.ts.map +1 -1
- package/dist/src/core/view/ViewManager.js +1199 -258
- package/dist/src/core/view/ViewManager.js.map +1 -1
- package/dist/src/core/view/ViewState.d.ts +185 -6
- package/dist/src/core/view/ViewState.d.ts.map +1 -1
- package/dist/src/core/view/ViewState.js +851 -123
- package/dist/src/core/view/ViewState.js.map +1 -1
- package/dist/src/core/view/index.d.ts +5 -5
- package/dist/src/core/view/index.d.ts.map +1 -1
- package/dist/src/core/view/index.js +5 -5
- package/dist/src/core/view/index.js.map +1 -1
- package/dist/src/testing/index.d.ts +69 -0
- package/dist/src/testing/index.d.ts.map +1 -0
- package/dist/src/testing/index.js +140 -0
- package/dist/src/testing/index.js.map +1 -0
- package/index.ts +29 -5
- package/package.json +30 -21
- package/plugins.ts +2 -2
- package/src/core/app/Application.ts +72 -31
- package/src/core/bootstrap/app.ts +84 -6
- package/src/core/bootstrap/bundle.ts +101 -0
- package/src/core/bootstrap/providers/ApiServiceProvider.ts +4 -4
- package/src/core/bootstrap/providers/CoreServiceProvider.ts +14 -8
- package/src/core/bootstrap/providers/HelperServiceProvider.ts +8 -3
- package/src/core/bootstrap/providers/RouteServiceProvider.ts +15 -4
- package/src/core/bootstrap/providers/ServiceProvider.ts +8 -8
- package/src/core/bootstrap/providers/ViewServiceProvider.ts +3 -3
- package/src/core/bootstrap/providers/default-providers.ts +51 -16
- package/src/core/bootstrap/providers/index.ts +9 -9
- package/src/core/bootstrap/providers/provider-order.test.ts +16 -27
- package/src/core/bootstrap/providers/provider-order.ts +1 -1
- package/src/core/bootstrap/ssr.ts +141 -0
- package/src/core/cache/ViewCache.ts +1 -1
- package/src/core/cache/index.ts +1 -1
- package/src/core/contracts/ApplicationInterface.ts +15 -11
- package/src/core/contracts/BlockInterface.ts +18 -18
- package/src/core/contracts/BundleInterface.ts +40 -0
- package/src/core/contracts/ComponentInterface.ts +7 -6
- package/src/core/contracts/ElementInterface.ts +95 -27
- package/src/core/contracts/HeadServiceInterface.ts +41 -0
- package/src/core/contracts/HelperInterface.ts +9 -1
- package/src/core/contracts/HttpServiceInterface.ts +3 -0
- package/src/core/contracts/MarkerInterface.ts +22 -49
- package/src/core/contracts/ReactiveInterface.ts +9 -9
- package/src/core/contracts/RouterInterface.ts +5 -2
- package/src/core/contracts/SectionInterface.ts +49 -0
- package/src/core/contracts/ServiceProviderInterface.ts +3 -3
- package/src/core/contracts/ViewControllerInterface.ts +124 -16
- package/src/core/contracts/ViewInterface.ts +34 -5
- package/src/core/contracts/ViewManagerInterface.ts +40 -5
- package/src/core/contracts/ViewStateInterface.ts +39 -2
- package/src/core/contracts/common.ts +3 -3
- package/src/core/contracts/utils.ts +19 -19
- package/src/core/contracts/views.ts +2 -22
- package/src/core/devtools/hook.ts +142 -0
- package/src/core/devtools/index.ts +38 -0
- package/src/core/devtools/inspector.ts +270 -0
- package/src/core/elements/Block.ts +43 -21
- package/src/core/elements/BlockOutlet.ts +61 -21
- package/src/core/elements/Component.ts +352 -18
- package/src/core/elements/ElementManager.ts +9 -9
- package/src/core/elements/ForeachSlotCache.ts +170 -0
- package/src/core/elements/Fragment.ts +50 -32
- package/src/core/elements/Html.ts +696 -117
- package/src/core/elements/Output.ts +147 -30
- package/src/core/elements/Reactive.ts +329 -52
- package/src/core/elements/TextElement.ts +25 -16
- package/src/core/elements/Wrapper.ts +84 -18
- package/src/core/elements/Yield.ts +35 -24
- package/src/core/elements/helpers.ts +12 -12
- package/src/core/elements/index.ts +25 -24
- package/src/core/elements/reconcileChildren.ts +70 -0
- package/src/core/{hellpers → helpers}/ApiClient.ts +8 -1
- package/src/core/{hellpers → helpers}/app.ts +13 -2
- package/src/core/helpers/transition.ts +127 -0
- package/src/core/{hellpers → helpers}/utils.ts +4 -4
- package/src/core/helpers/view.ts +283 -0
- package/src/core/routers/Router.ts +458 -64
- package/src/core/routers/index.ts +2 -2
- package/src/core/services/AssetManager.ts +387 -0
- package/src/core/services/BlockManager.ts +272 -50
- package/src/core/services/DomService.ts +3 -3
- package/src/core/services/HeadService.ts +124 -0
- package/src/core/services/HelperService.ts +34 -4
- package/src/core/services/HttpService.ts +116 -55
- package/src/core/services/MarkerRegistry.ts +142 -16
- package/src/core/services/PageCache.ts +239 -0
- package/src/core/services/SectionManager.ts +387 -0
- package/src/core/services/StorageService.ts +1 -1
- package/src/core/services/TranslationService.ts +91 -0
- package/src/core/services/index.ts +11 -8
- package/src/core/types/utils.ts +8 -8
- package/src/core/view/LoopContext.ts +38 -1
- package/src/core/view/ResourceScope.ts +174 -0
- package/src/core/view/Section.ts +21 -68
- package/src/core/view/View.ts +57 -8
- package/src/core/view/ViewController.ts +1070 -186
- package/src/core/view/ViewManager.ts +1346 -272
- package/src/core/view/ViewState.ts +834 -116
- package/src/core/view/index.ts +5 -5
- package/src/testing/index.ts +184 -0
- package/dist/src/core/hellpers/ApiClient.d.ts.map +0 -1
- package/dist/src/core/hellpers/ApiClient.js.map +0 -1
- package/dist/src/core/hellpers/app.d.ts +0 -3
- package/dist/src/core/hellpers/app.d.ts.map +0 -1
- package/dist/src/core/hellpers/app.js.map +0 -1
- package/dist/src/core/hellpers/utils.d.ts.map +0 -1
- package/dist/src/core/hellpers/utils.js.map +0 -1
- package/dist/src/core/services/MarkerService.d.ts +0 -299
- package/dist/src/core/services/MarkerService.d.ts.map +0 -1
- package/dist/src/core/services/MarkerService.js +0 -723
- package/dist/src/core/services/MarkerService.js.map +0 -1
- package/src/core/services/MarkerService.ts +0 -923
- /package/dist/src/core/{hellpers → helpers}/ApiClient.d.ts +0 -0
package/src/core/view/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { View } from './View';
|
|
2
|
-
export { ViewController } from './ViewController';
|
|
3
|
-
export { ViewState, StateManager } from './ViewState';
|
|
4
|
-
export { LoopContext } from './LoopContext';
|
|
5
|
-
export { ViewManager } from './ViewManager';
|
|
1
|
+
export { View } from './View.js';
|
|
2
|
+
export { ViewController } from './ViewController.js';
|
|
3
|
+
export { ViewState, StateManager } from './ViewState.js';
|
|
4
|
+
export { LoopContext } from './LoopContext.js';
|
|
5
|
+
export { ViewManager } from './ViewManager.js';
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@saolabs/client/testing` — tiện ích test view trong jsdom/happy-dom.
|
|
3
|
+
*
|
|
4
|
+
* Hai mức dùng:
|
|
5
|
+
* - `mount(factory, data)` — mount một view ĐÃ COMPILE (factory compiler sinh).
|
|
6
|
+
* Đây là API dành cho người dùng framework test component `.sao` của mình.
|
|
7
|
+
* - `mountView(renderFn, options)` — mount từ một render function viết tay,
|
|
8
|
+
* không cần compile. Dùng để test riêng lẻ element/lifecycle.
|
|
9
|
+
*
|
|
10
|
+
* Không phụ thuộc test runner nào (không import vitest/jest) — chạy được với
|
|
11
|
+
* bất kỳ runner nào miễn là môi trường có DOM.
|
|
12
|
+
*/
|
|
13
|
+
import { View } from '../core/view/View.js';
|
|
14
|
+
import { ViewController } from '../core/view/ViewController.js';
|
|
15
|
+
import { ViewManager } from '../core/view/ViewManager.js';
|
|
16
|
+
import { Html } from '../core/elements/Html.js';
|
|
17
|
+
import { app } from '../core/helpers/app.js';
|
|
18
|
+
import MarkerRegistry from '../core/services/MarkerRegistry.js';
|
|
19
|
+
import { HelperService } from '../core/services/HelperService.js';
|
|
20
|
+
|
|
21
|
+
// ── RAF polyfill (một số môi trường DOM giả lập không có) ─────
|
|
22
|
+
if (typeof globalThis.requestAnimationFrame !== 'function') {
|
|
23
|
+
(globalThis as any).requestAnimationFrame = (cb: FrameRequestCallback) =>
|
|
24
|
+
setTimeout(() => cb(Date.now()), 0) as unknown as number;
|
|
25
|
+
(globalThis as any).cancelAnimationFrame = (id: number) => clearTimeout(id);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Chờ qua batch RAF flush (state → DOM).
|
|
30
|
+
* State update được gom theo requestAnimationFrame nên sau khi set state phải
|
|
31
|
+
* `await nextFrame()` rồi mới assert DOM.
|
|
32
|
+
*/
|
|
33
|
+
export function nextFrame(): Promise<void> {
|
|
34
|
+
return new Promise((resolve) => {
|
|
35
|
+
requestAnimationFrame(() => {
|
|
36
|
+
requestAnimationFrame(() => resolve());
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export interface Harness {
|
|
42
|
+
view: View;
|
|
43
|
+
ctrl: ViewController;
|
|
44
|
+
/** Container thật trong document.body */
|
|
45
|
+
container: HTMLElement;
|
|
46
|
+
/** Html wrapper của container (rootElement) */
|
|
47
|
+
rootHtml: Html;
|
|
48
|
+
wrapper: any;
|
|
49
|
+
/** Đặt state qua StateManager (như user thao tác) */
|
|
50
|
+
setState: (key: string, value: any) => void;
|
|
51
|
+
getState: (key: string) => any;
|
|
52
|
+
/** textContent của container, đã trim (bỏ qua comment marker) */
|
|
53
|
+
text: () => string;
|
|
54
|
+
destroy: () => void;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export interface MountOptions {
|
|
58
|
+
/** states khởi tạo: { count: 0 } → useState(0, 'count') */
|
|
59
|
+
states?: Record<string, any>;
|
|
60
|
+
/** methods gắn lên view (như `<script setup>`) */
|
|
61
|
+
methods?: Record<string, (...args: any[]) => any>;
|
|
62
|
+
/** path của view — dùng cho AssetManager ref-count */
|
|
63
|
+
path?: string;
|
|
64
|
+
/** styles/scripts của component — cho AssetManager */
|
|
65
|
+
styles?: any[];
|
|
66
|
+
scripts?: any[];
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Bootstrap các service bắt buộc để mount một view ĐÃ COMPILE:
|
|
71
|
+
* - Registry: MarkerRegistry (hydration/foreach id bookkeeping)
|
|
72
|
+
* - Helper: App.Helper.xxx() — compiler prefix mọi PHP-helper call vào đây
|
|
73
|
+
* - View: App.View.generateViewId() — compiled constructor luôn gọi hàm này
|
|
74
|
+
* dù không navigate qua Router; thiếu nó `mount()` ném ngay ở dòng đầu view.
|
|
75
|
+
*/
|
|
76
|
+
function ensureRegistry(): void {
|
|
77
|
+
if (!app.has('Registry')) app.instance('Registry', MarkerRegistry);
|
|
78
|
+
if (!app.has('Helper')) app.instance('Helper', new HelperService(app() as any));
|
|
79
|
+
if (!app.has('View')) app.instance('View', new ViewManager(app() as any));
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
function createContainer(): HTMLElement {
|
|
83
|
+
const container = document.createElement('div');
|
|
84
|
+
container.setAttribute('data-test-root', '');
|
|
85
|
+
document.body.appendChild(container);
|
|
86
|
+
return container;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
function buildHarness(view: View, container: HTMLElement): Harness {
|
|
90
|
+
const ctrl = view.__ctrl__ as ViewController;
|
|
91
|
+
const manager: any = ctrl.states.__;
|
|
92
|
+
|
|
93
|
+
const rootHtml = new Html({
|
|
94
|
+
ctx: ctrl,
|
|
95
|
+
tagName: 'div',
|
|
96
|
+
element: container,
|
|
97
|
+
initMode: 'hydrate',
|
|
98
|
+
childrenFactory: () => [],
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
// Luồng chuẩn như ViewManager case standalone: render → mount → commitData → start
|
|
102
|
+
const wrapper = ctrl.render();
|
|
103
|
+
if (wrapper && typeof (wrapper as any).mountTo === 'function') {
|
|
104
|
+
ctrl.mount(rootHtml);
|
|
105
|
+
ctrl.commitData();
|
|
106
|
+
ctrl.start();
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
return {
|
|
110
|
+
view,
|
|
111
|
+
ctrl,
|
|
112
|
+
container,
|
|
113
|
+
rootHtml,
|
|
114
|
+
wrapper,
|
|
115
|
+
setState: (key, value) => manager.updateStateByKey(key, value),
|
|
116
|
+
getState: (key) => manager.getState?.(key) ?? manager.states?.[key]?.value,
|
|
117
|
+
text: () => (container.textContent ?? '').trim(),
|
|
118
|
+
destroy: () => {
|
|
119
|
+
try { ctrl.destroy(); } catch { /* view có thể đã destroy */ }
|
|
120
|
+
container.remove();
|
|
121
|
+
},
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Mount một view ĐÃ COMPILE.
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* import { mount, nextFrame } from '@saolabs/client/testing';
|
|
130
|
+
* import Counter from './views/counter.js';
|
|
131
|
+
*
|
|
132
|
+
* const c = mount(Counter, { start: 5 });
|
|
133
|
+
* c.container.querySelector('button')!.click();
|
|
134
|
+
* await nextFrame();
|
|
135
|
+
* expect(c.text()).toContain('6');
|
|
136
|
+
* c.destroy();
|
|
137
|
+
*/
|
|
138
|
+
export function mount(
|
|
139
|
+
factory: (data?: any, systemData?: any) => View,
|
|
140
|
+
data: Record<string, any> = {},
|
|
141
|
+
): Harness {
|
|
142
|
+
ensureRegistry();
|
|
143
|
+
const container = createContainer();
|
|
144
|
+
const view = factory(data, { App: app(), View: (app() as any).View });
|
|
145
|
+
return buildHarness(view, container);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Mount từ render function viết tay — không cần compile.
|
|
150
|
+
* `renderFn` chạy với `this` = ViewController, giống `config.render` compiler sinh.
|
|
151
|
+
*/
|
|
152
|
+
export function mountView(
|
|
153
|
+
renderFn: (this: ViewController) => any,
|
|
154
|
+
options: MountOptions = {},
|
|
155
|
+
): Harness {
|
|
156
|
+
ensureRegistry();
|
|
157
|
+
|
|
158
|
+
const view = new View(options.path ?? 'test.view', 'view');
|
|
159
|
+
const ctrl = view.__ctrl__ as ViewController;
|
|
160
|
+
|
|
161
|
+
// Khai báo states trước (compiled output làm trong constructor)
|
|
162
|
+
const manager: any = ctrl.states.__;
|
|
163
|
+
for (const [key, value] of Object.entries(options.states ?? {})) {
|
|
164
|
+
manager.useState(value, key);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
if (options.methods) ctrl.setUserDefinedConfig(options.methods);
|
|
168
|
+
|
|
169
|
+
ctrl.setup({
|
|
170
|
+
superView: null,
|
|
171
|
+
data: {},
|
|
172
|
+
path: options.path,
|
|
173
|
+
styles: options.styles,
|
|
174
|
+
scripts: options.scripts,
|
|
175
|
+
render: renderFn,
|
|
176
|
+
} as any);
|
|
177
|
+
|
|
178
|
+
return buildHarness(view, createContainer());
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/** textContent của element, đã trim. */
|
|
182
|
+
export function visibleText(el: HTMLElement): string {
|
|
183
|
+
return (el.textContent ?? '').trim();
|
|
184
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ApiClient.d.ts","sourceRoot":"","sources":["../../../../src/core/hellpers/ApiClient.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,MAAM,WAAW,YAAY;IACzB,MAAM,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,qBAAa,SAAU,YAAW,kBAAkB;IAChD,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,SAAS,CAAe;;IAQhC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAkB3B,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAIvC;;;OAGG;IACH,OAAO,CAAC,aAAa;IAOrB;;;OAGG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAU5C;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC;IAerC;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC;IAenC;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC;IAShC;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAO7C;;OAEG;IACH,cAAc,IAAI,WAAW;CAGhC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ApiClient.js","sourceRoot":"","sources":["../../../../src/core/hellpers/ApiClient.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAUzD,MAAM,OAAO,SAAS;IAIlB;QACI,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACK,mBAAmB;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAE3C,6CAA6C;QAC7C,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YACpE,IAAI,SAAS,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBAChD,IAAI,KAAK,EAAE,CAAC;oBACR,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;gBAC/C,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,CAAC,MAA2B;QAC5B,kDAAkD;IACtD,CAAC;IAED;;;OAGG;IACK,aAAa;QACjB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAChC,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAQ,MAAc,CAAC,WAAW,EAAE,GAAG,EAAE,SAAS,IAAI,EAAE,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,GAAW;QACzB,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YAC3D,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC;QAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACzD,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACZ,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAChC,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC9D,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,GAAW,EAAE,KAAa;QAClC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3F,CAAC;IAED;;OAEG;IACH,cAAc;QACV,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;CACJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../../src/core/hellpers/app.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAc,MAAM,mCAAmC,CAAC;AAuD3E,eAAO,MAAM,GAAG,EAAiB,UAAU,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../src/core/hellpers/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD;;;GAGG;AACH,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,GAAG,CAAI,GAAgB,EAAE,KAAW,EAAgC,EAAE;IAClF,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACpC,qCAAqC;QACrC,OAAO,WAAW,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,sCAAsC;QACtC,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjC,OAAO;IACX,CAAC;IACD,iCAAiC;IACjC,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,+DAA+D;AAC/D,UAAU,CAAC,IAAI,GAAG,CAAI,IAAgB,EAAK,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrE,UAAU,CAAC,QAAQ,GAAG,CAAI,IAAgB,EAAE,KAAQ,EAAe,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACxG,UAAU,CAAC,OAAO,GAAG,CAAI,IAAgB,EAAE,YAAgB,EAAK,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAC3G,UAAU,CAAC,QAAQ,GAAG,CAAI,IAAgB,EAAE,OAAgB,EAAe,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9G,UAAU,CAAC,IAAI,GAAG,CAAI,IAAgB,EAAE,OAAgB,EAAe,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC1G,UAAU,CAAC,SAAS,GAAG,CAAI,IAAgB,EAAE,OAAgB,EAAe,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACpH,UAAU,CAAC,GAAG,GAAG,CAAC,IAAgB,EAAW,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtE,UAAU,CAAC,KAAK,GAAG,GAAS,EAAE,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACxD,UAAU,CAAC,OAAO,GAAG,GAAS,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,GAAG,GAAG,UAAwB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/core/hellpers/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,MAAM,GAAE,MAAW,GAAG,MAAM,CAMxD;AAUD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AACD,wBAAgB,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAM3C;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE5C;AACD,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AACD,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE3D;AACD,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAEjE;AACD,wBAAgB,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE3C;AACD,wBAAgB,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE3C;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE5C;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE5C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE7C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE9C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE7C;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAEjD;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE1C;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAEjD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE9C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAEhD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE7C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE7C;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAEtD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAEjD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAEjD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE9C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/core/hellpers/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,299 +0,0 @@
|
|
|
1
|
-
import { MarkerFilter, MarkerRecord, RegistryIDOrAttributes } from "../contracts/MarkerInterface";
|
|
2
|
-
/**
|
|
3
|
-
* OneMarker Model - Represents a custom marker element
|
|
4
|
-
* Supports both:
|
|
5
|
-
* - Generic markup: <tag>...</tag> or <!--tag-->...<!--/tag-->
|
|
6
|
-
* - Registry tags: <!--o:r:id-->...<!--/o:r:id-->
|
|
7
|
-
*/
|
|
8
|
-
export declare class MarkerModel {
|
|
9
|
-
private __openTag;
|
|
10
|
-
private __closeTag;
|
|
11
|
-
private __attributes;
|
|
12
|
-
private __nodes;
|
|
13
|
-
private __definedAttributes;
|
|
14
|
-
private __tagName;
|
|
15
|
-
private __fullName;
|
|
16
|
-
private __registryID?;
|
|
17
|
-
private __systemPrefix?;
|
|
18
|
-
private __tag?;
|
|
19
|
-
private __id?;
|
|
20
|
-
private __key?;
|
|
21
|
-
constructor(data: MarkerRecord);
|
|
22
|
-
/**
|
|
23
|
-
* Update model data
|
|
24
|
-
*/
|
|
25
|
-
__update(data: Record<string, any>): this;
|
|
26
|
-
/**
|
|
27
|
-
* Define dynamic property accessors for attributes
|
|
28
|
-
* @private
|
|
29
|
-
*/
|
|
30
|
-
private __defineAttributes;
|
|
31
|
-
/**
|
|
32
|
-
* Define single attribute accessor
|
|
33
|
-
* @private
|
|
34
|
-
*/
|
|
35
|
-
private __defineAttribute;
|
|
36
|
-
/**
|
|
37
|
-
* Get tag name (without namespace)
|
|
38
|
-
*/
|
|
39
|
-
get tagName(): string;
|
|
40
|
-
/**
|
|
41
|
-
* Get full name (with namespace)
|
|
42
|
-
*/
|
|
43
|
-
get fullName(): string;
|
|
44
|
-
get registryID(): string | undefined | null;
|
|
45
|
-
/**
|
|
46
|
-
* Get open tag node
|
|
47
|
-
*/
|
|
48
|
-
get openTag(): Comment;
|
|
49
|
-
/**
|
|
50
|
-
* Get close tag node
|
|
51
|
-
*/
|
|
52
|
-
get closeTag(): Comment;
|
|
53
|
-
/**
|
|
54
|
-
* Get all attributes
|
|
55
|
-
*/
|
|
56
|
-
get attributes(): Record<string, any>;
|
|
57
|
-
/**
|
|
58
|
-
* Get nodes between open and close tags
|
|
59
|
-
*/
|
|
60
|
-
get nodes(): Array<Node>;
|
|
61
|
-
/**
|
|
62
|
-
* Get system prefix (registry tags only)
|
|
63
|
-
*/
|
|
64
|
-
get systemPrefix(): string | undefined;
|
|
65
|
-
/**
|
|
66
|
-
* Get tag (registry tags only)
|
|
67
|
-
*/
|
|
68
|
-
get tag(): string | undefined;
|
|
69
|
-
/**
|
|
70
|
-
* Get ID (registry tags only)
|
|
71
|
-
*/
|
|
72
|
-
get id(): string | undefined;
|
|
73
|
-
/**
|
|
74
|
-
* Get full key (registry tags only)
|
|
75
|
-
*/
|
|
76
|
-
get key(): string | undefined;
|
|
77
|
-
/**
|
|
78
|
-
* Get full data (registry tags only)
|
|
79
|
-
*/
|
|
80
|
-
get data(): Record<string, any> | undefined;
|
|
81
|
-
/**
|
|
82
|
-
* Get outer HTML including open/close tags and content
|
|
83
|
-
*/
|
|
84
|
-
get outerHTML(): string;
|
|
85
|
-
/**
|
|
86
|
-
* Get inner HTML (content only, without open/close tags)
|
|
87
|
-
*/
|
|
88
|
-
get innerHTML(): string;
|
|
89
|
-
/**
|
|
90
|
-
* Get HTML representation of a node
|
|
91
|
-
* @private
|
|
92
|
-
*/
|
|
93
|
-
private __getNodeHTML;
|
|
94
|
-
/**
|
|
95
|
-
* Get attribute value
|
|
96
|
-
*/
|
|
97
|
-
getAttribute(name: string): string | undefined;
|
|
98
|
-
/**
|
|
99
|
-
* Set attribute value
|
|
100
|
-
*/
|
|
101
|
-
setAttribute(name: string, value: string): this;
|
|
102
|
-
/**
|
|
103
|
-
* Check if model matches query attributes
|
|
104
|
-
* @private
|
|
105
|
-
*/
|
|
106
|
-
__match(attributes: Record<string, any>): boolean;
|
|
107
|
-
/**
|
|
108
|
-
* Check if model matches given attributes (for registry tag filtering)
|
|
109
|
-
*/
|
|
110
|
-
matchesAttributes(attributes: Record<string, any>): boolean;
|
|
111
|
-
/**
|
|
112
|
-
* Set attributes from registry
|
|
113
|
-
*/
|
|
114
|
-
setAttributes(attributes: Record<string, any>): this;
|
|
115
|
-
/**
|
|
116
|
-
* Scan and update nodes between open/close tags
|
|
117
|
-
*/
|
|
118
|
-
__scan(): Array<Node>;
|
|
119
|
-
/**
|
|
120
|
-
* Sync with DOM (re-query and update)
|
|
121
|
-
*/
|
|
122
|
-
__sync(): boolean;
|
|
123
|
-
/**
|
|
124
|
-
* Update nodes array
|
|
125
|
-
*/
|
|
126
|
-
updateNodes(nodes: Array<Node>): this;
|
|
127
|
-
/**
|
|
128
|
-
* Replace content between open and close tags
|
|
129
|
-
*/
|
|
130
|
-
replaceContent(content: string | Node | Array<Node>): this;
|
|
131
|
-
/**
|
|
132
|
-
* Remove element and its content from DOM
|
|
133
|
-
*/
|
|
134
|
-
remove(): void;
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* OneMarkerCollection - Collection of OneMarkerModel instances
|
|
138
|
-
* Provides array-like operations with type safety
|
|
139
|
-
*/
|
|
140
|
-
export declare class MarkerCollection {
|
|
141
|
-
private __models;
|
|
142
|
-
constructor(elements?: Array<MarkerModel | MarkerRecord>);
|
|
143
|
-
get models(): MarkerModel[];
|
|
144
|
-
get length(): number;
|
|
145
|
-
/**
|
|
146
|
-
* Get the first model in the collection
|
|
147
|
-
*/
|
|
148
|
-
get first(): MarkerModel | undefined;
|
|
149
|
-
/**
|
|
150
|
-
* Get the last model in the collection
|
|
151
|
-
*/
|
|
152
|
-
get last(): MarkerModel | undefined;
|
|
153
|
-
/**
|
|
154
|
-
* Get the model at the given index
|
|
155
|
-
*/
|
|
156
|
-
get(index: number): MarkerModel | undefined;
|
|
157
|
-
/**
|
|
158
|
-
* Set the model at the given index
|
|
159
|
-
*/
|
|
160
|
-
set(index: number, model: MarkerModel): this;
|
|
161
|
-
push(model: MarkerModel | MarkerRecord): this;
|
|
162
|
-
pop(): MarkerModel | undefined;
|
|
163
|
-
shift(): MarkerModel | undefined;
|
|
164
|
-
unshift(model: MarkerModel | MarkerRecord): this;
|
|
165
|
-
splice(start: number, deleteCount: number, ...items: MarkerModel[]): MarkerModel[];
|
|
166
|
-
slice(start?: number, end?: number): MarkerModel[];
|
|
167
|
-
concat(models: MarkerCollection | MarkerModel[]): MarkerCollection;
|
|
168
|
-
reverse(): MarkerCollection;
|
|
169
|
-
map<T>(callback: (model: MarkerModel, index: number, array: MarkerModel[]) => T): T[];
|
|
170
|
-
filter(callback: (model: MarkerModel, index: number, array: MarkerModel[]) => boolean): MarkerModel[];
|
|
171
|
-
reduce<T>(callback: (accumulator: T, model: MarkerModel, index: number, array: MarkerModel[]) => T, initialValue: T): T;
|
|
172
|
-
forEach(callback: (model: MarkerModel, index: number, array: MarkerModel[]) => void): void;
|
|
173
|
-
some(callback: (model: MarkerModel, index: number, array: MarkerModel[]) => boolean): boolean;
|
|
174
|
-
every(callback: (model: MarkerModel, index: number, array: MarkerModel[]) => boolean): boolean;
|
|
175
|
-
/**
|
|
176
|
-
* Query the collection by attributes
|
|
177
|
-
*/
|
|
178
|
-
query(attributes?: Record<string, any>): MarkerModel[];
|
|
179
|
-
/**
|
|
180
|
-
* Find first model matching attributes
|
|
181
|
-
*/
|
|
182
|
-
find(attributes?: Record<string, any>): MarkerModel | null;
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Marker Service - Manages custom markup elements
|
|
186
|
-
* Supports both HydrationMarker (comments)
|
|
187
|
-
*/
|
|
188
|
-
export declare class MarkerService {
|
|
189
|
-
static class: string;
|
|
190
|
-
private prefix;
|
|
191
|
-
private delimiter;
|
|
192
|
-
private closeTagSuffix;
|
|
193
|
-
private rootElement;
|
|
194
|
-
private markerRegistry;
|
|
195
|
-
private walker;
|
|
196
|
-
constructor(rootElement?: Element);
|
|
197
|
-
refreshWalker(): this;
|
|
198
|
-
addRegistry(tag: string, id?: string, attributes?: Record<string, any>): string;
|
|
199
|
-
resolveTagName(tagShortcut: string): string;
|
|
200
|
-
getShortcut(tagName: string): string;
|
|
201
|
-
/**
|
|
202
|
-
* Check if registryIDOrAttributes is a registryID (string) or attributes (object)
|
|
203
|
-
*/
|
|
204
|
-
private parseRegistryIDOrAttributes;
|
|
205
|
-
/**
|
|
206
|
-
* Get attributes from MarkerRegistry if registryID provided
|
|
207
|
-
*/
|
|
208
|
-
private getAttributesFromRegistry;
|
|
209
|
-
/**
|
|
210
|
-
* Check if attributes match filter
|
|
211
|
-
*/
|
|
212
|
-
private attributesMatch;
|
|
213
|
-
createMarker(tag: string, id?: string, attributes?: Record<string, any>): MarkerModel;
|
|
214
|
-
createOpenMarker(tag: string, id?: string): Comment;
|
|
215
|
-
createCloseMarker(tag: string, id?: string): Comment;
|
|
216
|
-
/**
|
|
217
|
-
* Query hydration markers in HTML comments
|
|
218
|
-
* Works with format: <!--prefix:shortcutTag:registryID-->
|
|
219
|
-
*
|
|
220
|
-
* @param tagOrShortcut - Tag name or shortcut (r, v, c, etc.)
|
|
221
|
-
* @param where - Registry ID (string) or attributes filter (object)
|
|
222
|
-
* @returns Array of matched markers
|
|
223
|
-
*
|
|
224
|
-
* @example
|
|
225
|
-
* query("r", "1234") // Find o:r:1234
|
|
226
|
-
* query("reactive", "1234") // Find o:r:1234 (resolved from shortcut)
|
|
227
|
-
* query("r", { userId: "123" }) // Find o:r:* with userId="123"
|
|
228
|
-
*/
|
|
229
|
-
query(tagOrShortcut: string, where?: MarkerFilter, useCache?: boolean): MarkerRecord[];
|
|
230
|
-
/**
|
|
231
|
-
* Find multiple hydration markers by tag and optional ID/attributes
|
|
232
|
-
* Flexible API supporting multiple query styles
|
|
233
|
-
*
|
|
234
|
-
* @param tagOrShortcut - Tag name or shortcut (r, v, c, etc.)
|
|
235
|
-
* @param registryIDOrAttributes - Optional registry ID (string) or attributes filter (object)
|
|
236
|
-
* @returns Array of all matched markers
|
|
237
|
-
*
|
|
238
|
-
* @example
|
|
239
|
-
* find("r") // All o:r:*
|
|
240
|
-
* find("reactive") // All o:r:* (resolved from shortcut)
|
|
241
|
-
* find("r", "1234") // All o:r:1234 (usually one)
|
|
242
|
-
* find("r", { userId: "123" }) // All o:r:* with userId="123"
|
|
243
|
-
*/
|
|
244
|
-
find(tagOrShortcut: string, where?: RegistryIDOrAttributes, useCache?: boolean): MarkerCollection;
|
|
245
|
-
getResults(tagOrShortcut: string, where?: RegistryIDOrAttributes, index?: number, length?: number, useCache?: boolean): MarkerRecord[];
|
|
246
|
-
/**
|
|
247
|
-
* Get hydration markers with index and length support
|
|
248
|
-
*
|
|
249
|
-
* @param tagOrShortcut - Tag name or shortcut
|
|
250
|
-
* @param where - Registry ID or attributes filter
|
|
251
|
-
* @param index - Start position (default 0): >= 0 positive, < 0 negative from end
|
|
252
|
-
* @param length - Number to return (default 0 = all): > 0 returns exactly that many
|
|
253
|
-
* @returns Array of matched markers
|
|
254
|
-
*
|
|
255
|
-
* @example
|
|
256
|
-
* get("r", "1234") // All o:r:1234
|
|
257
|
-
* get("r", "1234", 1) // From index 1
|
|
258
|
-
* get("r", "1234", 0, 2) // First 2 items
|
|
259
|
-
* get("r", {}, -1) // Last item
|
|
260
|
-
*/
|
|
261
|
-
get(tagOrShortcut: string, where?: RegistryIDOrAttributes, index?: number, length?: number, useCache?: boolean): MarkerCollection;
|
|
262
|
-
/**
|
|
263
|
-
* Get first matching hydration marker
|
|
264
|
-
*
|
|
265
|
-
* @param tagOrShortcut - Tag name or shortcut
|
|
266
|
-
* @param where - Registry ID or attributes filter
|
|
267
|
-
* @returns First matched marker or null
|
|
268
|
-
*/
|
|
269
|
-
first(tagOrShortcut: string, where?: RegistryIDOrAttributes, useCache?: boolean): MarkerModel | null;
|
|
270
|
-
/**
|
|
271
|
-
* Get last matching hydration marker
|
|
272
|
-
*
|
|
273
|
-
* @param tagOrShortcut - Tag name or shortcut
|
|
274
|
-
* @param where - Registry ID or attributes filter
|
|
275
|
-
* @returns Last matched marker or null
|
|
276
|
-
*/
|
|
277
|
-
last(tagOrShortcut: string, where?: RegistryIDOrAttributes, useCache?: boolean): MarkerModel | null;
|
|
278
|
-
/**
|
|
279
|
-
* Get exactly one matching hydration marker
|
|
280
|
-
* Throws error if not found or multiple matches found
|
|
281
|
-
*
|
|
282
|
-
* @param tagOrShortcut - Tag name or shortcut
|
|
283
|
-
* @param where - Registry ID or attributes filter
|
|
284
|
-
* @param index - Start position (default 0)
|
|
285
|
-
* @returns Exactly one matched marker
|
|
286
|
-
* @throws Error if no match or multiple matches
|
|
287
|
-
*/
|
|
288
|
-
once(tagOrShortcut: string, where?: RegistryIDOrAttributes, index?: number, useCache?: boolean): MarkerModel | null;
|
|
289
|
-
/**
|
|
290
|
-
* Create MarkerCollection from query results
|
|
291
|
-
*/
|
|
292
|
-
collect(models: MarkerRecord[]): MarkerCollection;
|
|
293
|
-
/**
|
|
294
|
-
* Convert raw tag to MarkerModel
|
|
295
|
-
*/
|
|
296
|
-
toModel(tag: MarkerRecord): MarkerModel;
|
|
297
|
-
}
|
|
298
|
-
export declare const OneMarker: MarkerService;
|
|
299
|
-
//# sourceMappingURL=MarkerService.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MarkerService.d.ts","sourceRoot":"","sources":["../../../../src/core/services/MarkerService.ts"],"names":[],"mappings":"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"}
|