@saolabs/client 1.0.0 → 1.0.2
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 +17 -15
- package/dist/src/core/app/Application.d.ts.map +1 -1
- package/dist/src/core/app/Application.js +41 -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 +74 -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 +125 -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 +13 -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/hellpers/utils.d.ts +2 -2
- package/dist/src/core/hellpers/utils.js +4 -4
- package/dist/src/core/helpers/ApiClient.d.ts +58 -0
- package/dist/src/core/helpers/ApiClient.d.ts.map +1 -0
- package/dist/src/core/helpers/ApiClient.js +131 -0
- 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/helpers/app.js +63 -0
- 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/helpers/utils.d.ts +26 -0
- package/dist/src/core/helpers/utils.d.ts.map +1 -0
- package/dist/src/core/helpers/utils.js +96 -0
- 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 +58 -31
- package/src/core/bootstrap/app.ts +80 -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 +136 -0
- package/src/core/cache/ViewCache.ts +1 -1
- package/src/core/cache/index.ts +1 -1
- package/src/core/contracts/ApplicationInterface.ts +13 -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/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
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { app } from "../../
|
|
2
|
-
import { PROVIDER_NAMES } from "./provider-order";
|
|
3
|
-
import { ApiServiceProvider } from "./ApiServiceProvider";
|
|
4
|
-
import { CoreServiceProvider } from "./CoreServiceProvider";
|
|
5
|
-
import { HelperServiceProvider } from "./HelperServiceProvider";
|
|
6
|
-
import { RouteServiceProvider } from "./RouteServiceProvider";
|
|
7
|
-
import { ViewServiceProvider } from "./ViewServiceProvider";
|
|
1
|
+
import { app } from "../../helpers/app.js";
|
|
2
|
+
import { PROVIDER_NAMES } from "./provider-order.js";
|
|
3
|
+
import { ApiServiceProvider } from "./ApiServiceProvider.js";
|
|
4
|
+
import { CoreServiceProvider } from "./CoreServiceProvider.js";
|
|
5
|
+
import { HelperServiceProvider } from "./HelperServiceProvider.js";
|
|
6
|
+
import { RouteServiceProvider } from "./RouteServiceProvider.js";
|
|
7
|
+
import { ViewServiceProvider } from "./ViewServiceProvider.js";
|
|
8
8
|
/** Tên system providers — không cho phép override */
|
|
9
9
|
const SYSTEM_PROVIDER_NAMES = new Set(Object.values(PROVIDER_NAMES));
|
|
10
10
|
/** Tên system services — không cho phép ghi đè qua config.services */
|
|
11
|
-
const SYSTEM_SERVICE_KEYS = new Set(['
|
|
11
|
+
const SYSTEM_SERVICE_KEYS = new Set(['Store', 'Storage', 'Event', 'Http', 'View', 'Router', 'Helper', 'API']);
|
|
12
12
|
/**
|
|
13
13
|
* Chuyển `config.services` dạng { name: Class } thành NamedServiceProvider[].
|
|
14
14
|
*
|
|
@@ -26,14 +26,42 @@ function servicesFromMap(map) {
|
|
|
26
26
|
}
|
|
27
27
|
return true;
|
|
28
28
|
})
|
|
29
|
-
.map(([name,
|
|
29
|
+
.map(([name, value]) => ({
|
|
30
30
|
name,
|
|
31
31
|
dependsOn: [PROVIDER_NAMES.CORE],
|
|
32
32
|
register() {
|
|
33
|
-
|
|
33
|
+
// Bundle nạp rời (theme) hay gửi INSTANCE hoặc object thuần chứ
|
|
34
|
+
// không phải class — `new` vô điều kiện sẽ ném "is not a
|
|
35
|
+
// constructor". Chỉ dựng khi thật sự là class.
|
|
36
|
+
const isClass = typeof value === 'function' && value.prototype;
|
|
37
|
+
appInstance.set(name, isClass ? new value(appInstance) : value);
|
|
34
38
|
}
|
|
35
39
|
}));
|
|
36
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* `config.helpers` = { tên: fn } → MỘT provider gộp, phụ thuộc `helper`.
|
|
43
|
+
*
|
|
44
|
+
* Không gán tay sau `init()`: `App.Helper` chỉ tồn tại sau khi
|
|
45
|
+
* HelperServiceProvider register, nên phải để resolveProviderOrder xếp chỗ.
|
|
46
|
+
* Gán tay thì provider nào đọc helper trong boot() của mình sẽ nhận undefined.
|
|
47
|
+
*/
|
|
48
|
+
function helpersFromMap(map) {
|
|
49
|
+
const appInstance = app();
|
|
50
|
+
if (!map || Object.keys(map).length === 0)
|
|
51
|
+
return [];
|
|
52
|
+
return [{
|
|
53
|
+
name: 'bundle.helpers',
|
|
54
|
+
dependsOn: [PROVIDER_NAMES.HELPER],
|
|
55
|
+
register() {
|
|
56
|
+
const helper = appInstance.get('Helper');
|
|
57
|
+
if (!helper) {
|
|
58
|
+
console.warn('[Bootstrap] Helper chưa sẵn sàng, bỏ qua config.helpers.');
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
Object.assign(helper, map);
|
|
62
|
+
}
|
|
63
|
+
}];
|
|
64
|
+
}
|
|
37
65
|
/**
|
|
38
66
|
* Tạo danh sách providers mặc định.
|
|
39
67
|
*
|
|
@@ -49,6 +77,7 @@ export function buildDefaultProviders(config = {}) {
|
|
|
49
77
|
// Set static config cho default providers trước khi tạo instance
|
|
50
78
|
ViewServiceProvider.config = config.view || {};
|
|
51
79
|
RouteServiceProvider.config = config.router || {};
|
|
80
|
+
HelperServiceProvider.config = { i18n: config.i18n };
|
|
52
81
|
ApiServiceProvider.config = config.api || {};
|
|
53
82
|
const App = app();
|
|
54
83
|
const defaults = [
|
|
@@ -62,6 +91,10 @@ export function buildDefaultProviders(config = {}) {
|
|
|
62
91
|
const serviceProviders = config.services
|
|
63
92
|
? servicesFromMap(config.services)
|
|
64
93
|
: [];
|
|
94
|
+
// config.helpers: { tên: fn } → một provider phụ thuộc `helper`
|
|
95
|
+
const helperProviders = config.helpers
|
|
96
|
+
? helpersFromMap(config.helpers)
|
|
97
|
+
: [];
|
|
65
98
|
// config.providers: (ProviderClass | NamedServiceProvider)[] → instantiate classes
|
|
66
99
|
const customProviders = Array.isArray(config.providers)
|
|
67
100
|
? config.providers
|
|
@@ -74,6 +107,6 @@ export function buildDefaultProviders(config = {}) {
|
|
|
74
107
|
return true;
|
|
75
108
|
})
|
|
76
109
|
: [];
|
|
77
|
-
return [...defaults, ...serviceProviders, ...customProviders];
|
|
110
|
+
return [...defaults, ...serviceProviders, ...helperProviders, ...customProviders];
|
|
78
111
|
}
|
|
79
112
|
//# sourceMappingURL=default-providers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-providers.js","sourceRoot":"","sources":["../../../../../src/core/bootstrap/providers/default-providers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"default-providers.js","sourceRoot":"","sources":["../../../../../src/core/bootstrap/providers/default-providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export { NamedServiceProvider, resolveProviderOrder, PROVIDER_NAMES } from './provider-order';
|
|
2
|
-
export type { ProviderName } from './provider-order';
|
|
3
|
-
export { ServiceProvider } from './ServiceProvider';
|
|
4
|
-
export { buildDefaultProviders } from './default-providers';
|
|
5
|
-
export { CoreServiceProvider } from './CoreServiceProvider';
|
|
6
|
-
export { ViewServiceProvider } from './ViewServiceProvider';
|
|
7
|
-
export { RouteServiceProvider } from './RouteServiceProvider';
|
|
8
|
-
export { HelperServiceProvider } from './HelperServiceProvider';
|
|
9
|
-
export { ApiServiceProvider } from './ApiServiceProvider';
|
|
1
|
+
export { NamedServiceProvider, resolveProviderOrder, PROVIDER_NAMES } from './provider-order.js';
|
|
2
|
+
export type { ProviderName } from './provider-order.js';
|
|
3
|
+
export { ServiceProvider } from './ServiceProvider.js';
|
|
4
|
+
export { buildDefaultProviders } from './default-providers.js';
|
|
5
|
+
export { CoreServiceProvider } from './CoreServiceProvider.js';
|
|
6
|
+
export { ViewServiceProvider } from './ViewServiceProvider.js';
|
|
7
|
+
export { RouteServiceProvider } from './RouteServiceProvider.js';
|
|
8
|
+
export { HelperServiceProvider } from './HelperServiceProvider.js';
|
|
9
|
+
export { ApiServiceProvider } from './ApiServiceProvider.js';
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/bootstrap/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/bootstrap/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACjG,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { resolveProviderOrder, PROVIDER_NAMES } from './provider-order';
|
|
2
|
-
export { ServiceProvider } from './ServiceProvider';
|
|
3
|
-
export { buildDefaultProviders } from './default-providers';
|
|
4
|
-
export { CoreServiceProvider } from './CoreServiceProvider';
|
|
5
|
-
export { ViewServiceProvider } from './ViewServiceProvider';
|
|
6
|
-
export { RouteServiceProvider } from './RouteServiceProvider';
|
|
7
|
-
export { HelperServiceProvider } from './HelperServiceProvider';
|
|
8
|
-
export { ApiServiceProvider } from './ApiServiceProvider';
|
|
1
|
+
export { resolveProviderOrder, PROVIDER_NAMES } from './provider-order.js';
|
|
2
|
+
export { ServiceProvider } from './ServiceProvider.js';
|
|
3
|
+
export { buildDefaultProviders } from './default-providers.js';
|
|
4
|
+
export { CoreServiceProvider } from './CoreServiceProvider.js';
|
|
5
|
+
export { ViewServiceProvider } from './ViewServiceProvider.js';
|
|
6
|
+
export { RouteServiceProvider } from './RouteServiceProvider.js';
|
|
7
|
+
export { HelperServiceProvider } from './HelperServiceProvider.js';
|
|
8
|
+
export { ApiServiceProvider } from './ApiServiceProvider.js';
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/bootstrap/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,oBAAoB,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/bootstrap/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,oBAAoB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEjG,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ServiceProviderInterface } from "../../contracts/ServiceProviderInterface";
|
|
1
|
+
import type { ServiceProviderInterface } from "../../contracts/ServiceProviderInterface.js";
|
|
2
2
|
/**
|
|
3
3
|
* Tên các provider mặc định — dùng constant thay vì magic string.
|
|
4
4
|
* Custom providers có thể dùng tên khác hoặc override tên mặc định.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-order.d.ts","sourceRoot":"","sources":["../../../../../src/core/bootstrap/providers/provider-order.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"provider-order.d.ts","sourceRoot":"","sources":["../../../../../src/core/bootstrap/providers/provider-order.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AAE5F;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAE9E,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,GAAG;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,wBAAwB,EAAE,GAAG,wBAAwB,EAAE,CA4CtG"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSR boot detection — đọc thông tin server nhúng để hydrate route đầu tiên.
|
|
3
|
+
* Tham chiếu: RUNTIME_CONTRACT.md §6 (Hydration boot).
|
|
4
|
+
*/
|
|
5
|
+
/** Thông tin boot server nhúng cho trang server-rendered. */
|
|
6
|
+
export interface SSRBootInfo {
|
|
7
|
+
/** Registry path của page entry (vd 'web.modules.home'). */
|
|
8
|
+
view: string;
|
|
9
|
+
/** viewId server đã dùng prefix markers/classes của page. */
|
|
10
|
+
viewId: string;
|
|
11
|
+
/** CSS selector container chứa SSR HTML (mặc định '#app-root'). */
|
|
12
|
+
container?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Đọc SSR boot info từ DOM:
|
|
16
|
+
*
|
|
17
|
+
* <script type="application/json" data-ref="saola-ssr">
|
|
18
|
+
* { "container": "#app-root", "view": "web.modules.home", "viewId": "v_abc" }
|
|
19
|
+
* </script>
|
|
20
|
+
*
|
|
21
|
+
* viewId của layout chain được đọc từ APP_CONFIGS.view.ssrData khi server có
|
|
22
|
+
* cung cấp; DOM marker chỉ là fallback tương thích cho output cũ.
|
|
23
|
+
* Trả null nếu không phải trang server-rendered → CSR boot bình thường.
|
|
24
|
+
*/
|
|
25
|
+
export declare function readSSRBoot(): SSRBootInfo | null;
|
|
26
|
+
/**
|
|
27
|
+
* Đọc boot config server nhúng qua `window.APP_CONFIGS` (contract server hiện tại)
|
|
28
|
+
* và map về shape config của client (`{ view, router, api }`).
|
|
29
|
+
*
|
|
30
|
+
* Server (`_system/page/end.blade.php`) đã emit:
|
|
31
|
+
* window.APP_CONFIGS = {
|
|
32
|
+
* container: '#app-root',
|
|
33
|
+
* router: { mode, base, allRoutes: [{name,path,params,component}], ... },
|
|
34
|
+
* ...
|
|
35
|
+
* }
|
|
36
|
+
* `allRoutes` đã đúng shape `Router.addRoutes` cần ({path, component}).
|
|
37
|
+
*
|
|
38
|
+
* Trả null nếu không có APP_CONFIGS (→ app tự truyền config cho App.start).
|
|
39
|
+
*/
|
|
40
|
+
export declare function readBootConfig(): Record<string, any> | null;
|
|
41
|
+
/**
|
|
42
|
+
* Merge nông 2 tầng config boot (base) với config app truyền (override).
|
|
43
|
+
* Per top-level key (view/router/api): nếu cả hai là object thì merge nông,
|
|
44
|
+
* ngược lại override thắng. Dùng để config app truyền có ưu tiên hơn boot.
|
|
45
|
+
*/
|
|
46
|
+
export declare function mergeBootConfig(base: Record<string, any>, override: Record<string, any>): Record<string, any>;
|
|
47
|
+
//# sourceMappingURL=ssr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssr.d.ts","sourceRoot":"","sources":["../../../../src/core/bootstrap/ssr.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,6DAA6D;AAC7D,MAAM,WAAW,WAAW;IACxB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,IAAI,WAAW,GAAG,IAAI,CAiBhD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAqD3D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAarB"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSR boot detection — đọc thông tin server nhúng để hydrate route đầu tiên.
|
|
3
|
+
* Tham chiếu: RUNTIME_CONTRACT.md §6 (Hydration boot).
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Đọc SSR boot info từ DOM:
|
|
7
|
+
*
|
|
8
|
+
* <script type="application/json" data-ref="saola-ssr">
|
|
9
|
+
* { "container": "#app-root", "view": "web.modules.home", "viewId": "v_abc" }
|
|
10
|
+
* </script>
|
|
11
|
+
*
|
|
12
|
+
* viewId của layout chain được đọc từ APP_CONFIGS.view.ssrData khi server có
|
|
13
|
+
* cung cấp; DOM marker chỉ là fallback tương thích cho output cũ.
|
|
14
|
+
* Trả null nếu không phải trang server-rendered → CSR boot bình thường.
|
|
15
|
+
*/
|
|
16
|
+
export function readSSRBoot() {
|
|
17
|
+
if (typeof document === 'undefined')
|
|
18
|
+
return null;
|
|
19
|
+
const el = document.querySelector('script[type="application/json"][data-ref="saola-ssr"]');
|
|
20
|
+
if (!el || !el.textContent)
|
|
21
|
+
return null;
|
|
22
|
+
try {
|
|
23
|
+
const info = JSON.parse(el.textContent);
|
|
24
|
+
if (info && typeof info.view === 'string' && typeof info.viewId === 'string') {
|
|
25
|
+
return {
|
|
26
|
+
view: info.view,
|
|
27
|
+
viewId: info.viewId,
|
|
28
|
+
container: typeof info.container === 'string' ? info.container : undefined,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
catch (e) {
|
|
33
|
+
console.warn('[Bootstrap] SSR boot JSON không hợp lệ:', e);
|
|
34
|
+
}
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Đọc boot config server nhúng qua `window.APP_CONFIGS` (contract server hiện tại)
|
|
39
|
+
* và map về shape config của client (`{ view, router, api }`).
|
|
40
|
+
*
|
|
41
|
+
* Server (`_system/page/end.blade.php`) đã emit:
|
|
42
|
+
* window.APP_CONFIGS = {
|
|
43
|
+
* container: '#app-root',
|
|
44
|
+
* router: { mode, base, allRoutes: [{name,path,params,component}], ... },
|
|
45
|
+
* ...
|
|
46
|
+
* }
|
|
47
|
+
* `allRoutes` đã đúng shape `Router.addRoutes` cần ({path, component}).
|
|
48
|
+
*
|
|
49
|
+
* Trả null nếu không có APP_CONFIGS (→ app tự truyền config cho App.start).
|
|
50
|
+
*/
|
|
51
|
+
export function readBootConfig() {
|
|
52
|
+
if (typeof window === 'undefined')
|
|
53
|
+
return null;
|
|
54
|
+
const cfg = window.APP_CONFIGS;
|
|
55
|
+
if (!cfg || typeof cfg !== 'object')
|
|
56
|
+
return null;
|
|
57
|
+
const out = {};
|
|
58
|
+
if (cfg.i18n && typeof cfg.i18n === "object")
|
|
59
|
+
out.i18n = cfg.i18n;
|
|
60
|
+
// view.systemData (server: __layout__/__base__/__page__/...) PHẢI tới được
|
|
61
|
+
// ViewManager: compiled factory destructure `__layout__` từ systemData để
|
|
62
|
+
// resolve superView (`${__layout__+"base"}`). Thiếu → 'undefinedbase' →
|
|
63
|
+
// "View not found in registry" + page render() trả rỗng.
|
|
64
|
+
const view = {};
|
|
65
|
+
if (typeof cfg.container === 'string') {
|
|
66
|
+
view.container = cfg.container;
|
|
67
|
+
}
|
|
68
|
+
if (typeof cfg.view?.dataEndpoint === 'string')
|
|
69
|
+
view.dataEndpoint = cfg.view.dataEndpoint;
|
|
70
|
+
if (cfg.view?.fetchOptions && typeof cfg.view.fetchOptions === 'object')
|
|
71
|
+
view.fetchOptions = cfg.view.fetchOptions;
|
|
72
|
+
if (cfg.api && typeof cfg.api === 'object')
|
|
73
|
+
out.api = cfg.api;
|
|
74
|
+
if (cfg.view?.systemData && typeof cfg.view.systemData === 'object') {
|
|
75
|
+
view.systemData = cfg.view.systemData;
|
|
76
|
+
}
|
|
77
|
+
if (typeof cfg.view?.revision === 'string') {
|
|
78
|
+
view.revision = cfg.view.revision;
|
|
79
|
+
}
|
|
80
|
+
if (typeof cfg.view?.contextViews === 'string') {
|
|
81
|
+
view.contextViews = cfg.view.contextViews;
|
|
82
|
+
}
|
|
83
|
+
if (cfg.view?.ssrData && typeof cfg.view.ssrData === 'object') {
|
|
84
|
+
view.ssrData = cfg.view.ssrData;
|
|
85
|
+
}
|
|
86
|
+
if (Object.keys(view).length > 0) {
|
|
87
|
+
out.view = view;
|
|
88
|
+
}
|
|
89
|
+
// Danh sách bundle nạp rời (theme…) — server là chỗ DUY NHẤT biết theme nào
|
|
90
|
+
// đang bật, nên client không đoán đường dẫn. Xem EXTENSION_ARCHITECTURE §8.
|
|
91
|
+
if (Array.isArray(cfg.bundles)) {
|
|
92
|
+
out.bundles = cfg.bundles.filter((u) => typeof u === 'string' && u !== '');
|
|
93
|
+
}
|
|
94
|
+
const routes = cfg.router?.allRoutes ?? cfg.router?.routes;
|
|
95
|
+
if (Array.isArray(routes)) {
|
|
96
|
+
out.router = {
|
|
97
|
+
mode: cfg.router?.mode ?? 'history',
|
|
98
|
+
base: cfg.router?.base,
|
|
99
|
+
defaultRoute: cfg.router?.defaultRoute,
|
|
100
|
+
routes,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
return Object.keys(out).length > 0 ? out : null;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Merge nông 2 tầng config boot (base) với config app truyền (override).
|
|
107
|
+
* Per top-level key (view/router/api): nếu cả hai là object thì merge nông,
|
|
108
|
+
* ngược lại override thắng. Dùng để config app truyền có ưu tiên hơn boot.
|
|
109
|
+
*/
|
|
110
|
+
export function mergeBootConfig(base, override) {
|
|
111
|
+
const out = { ...base };
|
|
112
|
+
for (const key of Object.keys(override)) {
|
|
113
|
+
const b = out[key];
|
|
114
|
+
const o = override[key];
|
|
115
|
+
if (b && o && typeof b === 'object' && typeof o === 'object'
|
|
116
|
+
&& !Array.isArray(b) && !Array.isArray(o)) {
|
|
117
|
+
out[key] = { ...b, ...o };
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
out[key] = o;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return out;
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=ssr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssr.js","sourceRoot":"","sources":["../../../../src/core/bootstrap/ssr.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewCache.d.ts","sourceRoot":"","sources":["../../../../src/core/cache/ViewCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ViewCache.d.ts","sourceRoot":"","sources":["../../../../src/core/cache/ViewCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAE7E;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,SAAU,YAAW,kBAAkB;IAChD,OAAO,CAAC,KAAK,CAA0D;IAEvE,wDAAwD;IACxD,OAAO,CAAC,OAAO,CAAS;IAExB,oCAAoC;IACpC,OAAO,CAAC,WAAW,CAAgB;gBAEvB,OAAO,GAAE,MAAW;IAIhC,+BAA+B;IAC/B,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,gBAAgB,GAAG,IAAI;IAiBpE,uDAAuD;IACvD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,gBAAgB,GAAG,IAAI;IAQ/D,gCAAgC;IAChC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI5B,wCAAwC;IACxC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK5B,6BAA6B;IAC7B,KAAK,IAAI,IAAI;IAKb,iCAAiC;IACjC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,8BAA8B;IAC9B,IAAI,IAAI,MAAM,EAAE;IAMhB,8DAA8D;IAC9D,OAAO,CAAC,WAAW;IAKnB,iDAAiD;IACjD,OAAO,CAAC,WAAW;CAKtB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { ViewCache } from './ViewCache';
|
|
1
|
+
export { ViewCache } from './ViewCache.js';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/cache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/cache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { ViewCache } from './ViewCache';
|
|
1
|
+
export { ViewCache } from './ViewCache.js';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/cache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/cache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { RouterInterface, ViewManagerInterface } from "./utils";
|
|
2
|
-
import type { HelperInterface } from "./HelperInterface";
|
|
3
|
-
import type { EventServiceInterface } from "./EventServiceInterface";
|
|
4
|
-
import type { HttpServiceInterface } from "./HttpServiceInterface";
|
|
5
|
-
import type { StoreServiceInterface } from "./StoreServiceInterface";
|
|
6
|
-
import type { StorageServiceInterface } from "./StorageServiceInterface";
|
|
7
|
-
import type { LoggerServiceInterface } from "./LoggerServiceInterface";
|
|
8
|
-
import {
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
1
|
+
import { RouterInterface, ViewManagerInterface } from "./utils.js";
|
|
2
|
+
import type { HelperInterface } from "./HelperInterface.js";
|
|
3
|
+
import type { EventServiceInterface } from "./EventServiceInterface.js";
|
|
4
|
+
import type { HttpServiceInterface } from "./HttpServiceInterface.js";
|
|
5
|
+
import type { StoreServiceInterface } from "./StoreServiceInterface.js";
|
|
6
|
+
import type { StorageServiceInterface } from "./StorageServiceInterface.js";
|
|
7
|
+
import type { LoggerServiceInterface } from "./LoggerServiceInterface.js";
|
|
8
|
+
import type { HeadServiceInterface } from "./HeadServiceInterface.js";
|
|
9
|
+
import { APIClientInterface } from "./ApiInterface.js";
|
|
10
|
+
import type { ServiceProviderInterface } from "./ServiceProviderInterface.js";
|
|
11
|
+
import { SaoObjectType } from "../types/utils.js";
|
|
11
12
|
export interface ApplicationInterface {
|
|
12
13
|
[key: string]: any;
|
|
13
14
|
transient<T>(key: ServiceKey, value: any): this;
|
|
@@ -26,7 +27,7 @@ export interface ApplicationInterface {
|
|
|
26
27
|
set<T = any>(name: string, method: T, isOne?: boolean): void;
|
|
27
28
|
setMethod(name: string, method: Function, isOne?: boolean): void;
|
|
28
29
|
get<T = any>(name: string): T;
|
|
29
|
-
|
|
30
|
+
saoType?: SaoObjectType;
|
|
30
31
|
isInitialized: boolean;
|
|
31
32
|
isStarted: boolean;
|
|
32
33
|
View: ViewManagerInterface;
|
|
@@ -38,6 +39,7 @@ export interface ApplicationInterface {
|
|
|
38
39
|
Store: StoreServiceInterface;
|
|
39
40
|
Storage: StorageServiceInterface;
|
|
40
41
|
Logger: LoggerServiceInterface;
|
|
42
|
+
Head: HeadServiceInterface;
|
|
41
43
|
}
|
|
42
44
|
/** Type cho helper function app() — callable + có methods */
|
|
43
45
|
export interface AppFactory {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplicationInterface.d.ts","sourceRoot":"","sources":["../../../../src/core/contracts/ApplicationInterface.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ApplicationInterface.d.ts","sourceRoot":"","sources":["../../../../src/core/contracts/ApplicationInterface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { ViewControllerInterface } from "./ViewControllerInterface";
|
|
3
|
-
import type { HtmlInterface, FragmentInterface,
|
|
4
|
-
import { InitMode } from "./common";
|
|
1
|
+
import type { SaoObjectType } from "../types/utils.js";
|
|
2
|
+
import type { ViewControllerInterface } from "./ViewControllerInterface.js";
|
|
3
|
+
import type { HtmlInterface, FragmentInterface, SaoChildrenFactoryOutput, SaoNodeInterface } from "./ElementInterface.js";
|
|
4
|
+
import { InitMode } from "./common.js";
|
|
5
5
|
export type BlockConstructorParams = {
|
|
6
6
|
ctx: ViewControllerInterface;
|
|
7
7
|
name: string;
|
|
@@ -11,7 +11,7 @@ export type BlockConstructorParams = {
|
|
|
11
11
|
initMode?: InitMode;
|
|
12
12
|
};
|
|
13
13
|
export interface BlockInterface {
|
|
14
|
-
|
|
14
|
+
saoType: SaoObjectType;
|
|
15
15
|
/** Unique block slot name (e.g. 'content', 'sidebar') */
|
|
16
16
|
name: string;
|
|
17
17
|
id: string;
|
|
@@ -22,7 +22,7 @@ export interface BlockInterface {
|
|
|
22
22
|
fragment: FragmentInterface | null;
|
|
23
23
|
parentElement: HtmlInterface | null;
|
|
24
24
|
domChildren: Node[];
|
|
25
|
-
|
|
25
|
+
isSaoElement: boolean;
|
|
26
26
|
isOneBlock: boolean;
|
|
27
27
|
initMode?: InitMode;
|
|
28
28
|
/** Initialize the block (e.g. during hydration) */
|
|
@@ -41,8 +41,8 @@ export interface BlockInterface {
|
|
|
41
41
|
setParentElement(parentElement: HtmlInterface | null): void;
|
|
42
42
|
contentRenderFactory: BlockRenderFactory | null;
|
|
43
43
|
}
|
|
44
|
-
export interface BlockOutletInterface extends
|
|
45
|
-
|
|
44
|
+
export interface BlockOutletInterface extends SaoNodeInterface {
|
|
45
|
+
saoType: SaoObjectType;
|
|
46
46
|
id: string;
|
|
47
47
|
name: string;
|
|
48
48
|
parent: HtmlInterface | null;
|
|
@@ -51,7 +51,7 @@ export interface BlockOutletInterface extends OneNodeInterface {
|
|
|
51
51
|
parentElement: HtmlInterface | null;
|
|
52
52
|
ctx: ViewControllerInterface;
|
|
53
53
|
initMode: InitMode;
|
|
54
|
-
|
|
54
|
+
isSaoElement: boolean;
|
|
55
55
|
isOneBlockOutlet: boolean;
|
|
56
56
|
/** Render the outlet's markers into the parent element */
|
|
57
57
|
render(): any;
|
|
@@ -63,5 +63,5 @@ export interface BlockOutletInterface extends OneNodeInterface {
|
|
|
63
63
|
}
|
|
64
64
|
export interface BlockManagerInterface {
|
|
65
65
|
}
|
|
66
|
-
export type BlockRenderFactory = (parentElement: HtmlInterface) =>
|
|
66
|
+
export type BlockRenderFactory = (parentElement: HtmlInterface) => SaoChildrenFactoryOutput;
|
|
67
67
|
//# sourceMappingURL=BlockInterface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockInterface.d.ts","sourceRoot":"","sources":["../../../../src/core/contracts/BlockInterface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"BlockInterface.d.ts","sourceRoot":"","sources":["../../../../src/core/contracts/BlockInterface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC1H,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,MAAM,MAAM,sBAAsB,GAAG;IACjC,GAAG,EAAE,uBAAuB,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,oBAAoB,CAAC,EAAE,kBAAkB,CAAC;IAC1C,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACvB,CAAC;AACF,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,uBAAuB,CAAC;IAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACnC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,WAAW,EAAE,IAAI,EAAE,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,mDAAmD;IACnD,IAAI,IAAI,IAAI,CAAC;IACb,yDAAyD;IACzD,MAAM,IAAI,IAAI,CAAC;IACf,uEAAuE;IACvE,KAAK,CAAC,QAAQ,EAAE,uBAAuB,EAAE,aAAa,EAAE,aAAa,GAAG,GAAG,CAAC;IAC5E,+CAA+C;IAC/C,OAAO,IAAI,IAAI,CAAC;IAChB,+CAA+C;IAC/C,OAAO,IAAI,IAAI,CAAC;IAChB,wDAAwD;IACxD,MAAM,IAAI,IAAI,CAAC;IACf,yDAAyD;IACzD,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC;IAE5D,oBAAoB,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAEnD;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC1D,OAAO,EAAE,aAAa,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,GAAG,EAAE,uBAAuB,CAAC;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,0DAA0D;IAC1D,MAAM,IAAI,GAAG,CAAC;IACd,OAAO,IAAI,GAAG,CAAC;IACf,OAAO,IAAI,GAAG,CAAC;IACf,KAAK,IAAI,GAAG,CAAC;IACb,IAAI,IAAI,GAAG,CAAC;IACZ,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,GAAG,GAAG,CAAC;CAC9D;AAED,MAAM,WAAW,qBAAqB;CAErC;AAID,MAAM,MAAM,kBAAkB,GAAG,CAAC,aAAa,EAAE,aAAa,KAAK,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { ApplicationInterface } from "./ApplicationInterface.js";
|
|
2
|
+
import type { ServiceProviderInterface } from "./ServiceProviderInterface.js";
|
|
3
|
+
/** Factory view mà registry nhận: đồng bộ, hoặc lazy trả Promise<module>. */
|
|
4
|
+
export type ViewFactory = ((...args: any[]) => any) | (() => Promise<any>);
|
|
5
|
+
/**
|
|
6
|
+
* Manifest của một bundle nạp rời (theme, gói mở rộng).
|
|
7
|
+
*
|
|
8
|
+
* Cùng MỘT hình dạng cho mọi loại bundle: file chỉ có view thì điền `views`,
|
|
9
|
+
* file chỉ có code thì điền `providers`/`services`. Hai shape khác nhau = hai
|
|
10
|
+
* nhánh loader = hai chỗ để lệch.
|
|
11
|
+
*/
|
|
12
|
+
export interface SaolaBundle {
|
|
13
|
+
/** Định danh, dùng để báo lỗi và bắt trùng tên. */
|
|
14
|
+
name?: string;
|
|
15
|
+
/** Provider của bundle — class hoặc instance, đưa thẳng vào resolveProviderOrder. */
|
|
16
|
+
providers?: any[];
|
|
17
|
+
/** { Tên: Class | instance | object } → App.set(tên, …). */
|
|
18
|
+
services?: Record<string, any>;
|
|
19
|
+
/** { tên: fn } → gộp vào App.Helper. */
|
|
20
|
+
helpers?: Record<string, any>;
|
|
21
|
+
/** { 'dot.path': factory } → View.setViewRegistry(). Nạp sau ĐÈ nạp trước. */
|
|
22
|
+
views?: Record<string, ViewFactory>;
|
|
23
|
+
/** Chạy sau khi mọi bundle đã merge và App đã init. */
|
|
24
|
+
boot?(app: ApplicationInterface): void;
|
|
25
|
+
}
|
|
26
|
+
/** Kết quả gộp nhiều bundle, theo đúng thứ tự mảng URL. */
|
|
27
|
+
export interface MergedBundles {
|
|
28
|
+
providers: (ServiceProviderInterface | any)[];
|
|
29
|
+
services: Record<string, any>;
|
|
30
|
+
helpers: Record<string, any>;
|
|
31
|
+
views: Record<string, ViewFactory>;
|
|
32
|
+
boots: Array<(app: ApplicationInterface) => void>;
|
|
33
|
+
/** Tên (hoặc URL) của bundle đã nạp được. */
|
|
34
|
+
loaded: string[];
|
|
35
|
+
/** [url, thông điệp lỗi] — nạp hỏng thì bỏ qua, KHÔNG làm sập boot. */
|
|
36
|
+
failed: Array<[string, string]>;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=BundleInterface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BundleInterface.d.ts","sourceRoot":"","sources":["../../../../src/core/contracts/BundleInterface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAE9E,6EAA6E;AAC7E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAE3E;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IACxB,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;IAClB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpC,uDAAuD;IACvD,IAAI,CAAC,CAAC,GAAG,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC1C;AAED,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,CAAC,wBAAwB,GAAG,GAAG,CAAC,EAAE,CAAC;IAC9C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACnC,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,oBAAoB,KAAK,IAAI,CAAC,CAAC;IAClD,6CAA6C;IAC7C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,uEAAuE;IACvE,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BundleInterface.js","sourceRoot":"","sources":["../../../../src/core/contracts/BundleInterface.ts"],"names":[],"mappings":""}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { ViewControllerInterface } from "./ViewControllerInterface";
|
|
3
|
-
import type { ViewInterface } from "./ViewInterface";
|
|
4
|
-
import type { HtmlInterface } from "./ElementInterface";
|
|
1
|
+
import type { SaoObjectType } from "../types/utils.js";
|
|
2
|
+
import type { ViewControllerInterface } from "./ViewControllerInterface.js";
|
|
3
|
+
import type { ViewInterface } from "./ViewInterface.js";
|
|
4
|
+
import type { HtmlInterface } from "./ElementInterface.js";
|
|
5
5
|
export interface ComponentInterface {
|
|
6
|
-
|
|
6
|
+
saoType: SaoObjectType;
|
|
7
7
|
id: string;
|
|
8
8
|
ctx: ViewControllerInterface;
|
|
9
9
|
viewRef: ViewInterface | null;
|
|
@@ -12,12 +12,13 @@ export interface ComponentInterface {
|
|
|
12
12
|
openTag: Comment;
|
|
13
13
|
closeTag: Comment;
|
|
14
14
|
stateKeys: string[];
|
|
15
|
+
listeners: Record<string, (...args: any[]) => any>;
|
|
15
16
|
subscribeFn: () => void;
|
|
16
17
|
unsubscribeFn: () => void;
|
|
17
18
|
render(): void;
|
|
18
19
|
destroy(): void;
|
|
19
20
|
setParent(parent: HtmlInterface | null): void;
|
|
20
|
-
|
|
21
|
+
isSaoElement: boolean;
|
|
21
22
|
isOneComponent: boolean;
|
|
22
23
|
[key: string]: any;
|
|
23
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentInterface.d.ts","sourceRoot":"","sources":["../../../../src/core/contracts/ComponentInterface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ComponentInterface.d.ts","sourceRoot":"","sources":["../../../../src/core/contracts/ComponentInterface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,uBAAuB,CAAC;IAC7B,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC;IACnD,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,IAAI,IAAI,CAAC;IAChB,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC;IAC9C,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB"}
|