@saolabs/client 1.0.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 +221 -0
- package/dist/index.d.ts +46 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -0
- package/dist/plugins.d.ts +38 -0
- package/dist/plugins.d.ts.map +1 -0
- package/dist/plugins.js +61 -0
- package/dist/plugins.js.map +1 -0
- package/dist/src/core/app/Application.d.ts +159 -0
- package/dist/src/core/app/Application.d.ts.map +1 -0
- package/dist/src/core/app/Application.js +338 -0
- package/dist/src/core/app/Application.js.map +1 -0
- package/dist/src/core/bootstrap/app.d.ts +4 -0
- package/dist/src/core/bootstrap/app.d.ts.map +1 -0
- package/dist/src/core/bootstrap/app.js +49 -0
- package/dist/src/core/bootstrap/app.js.map +1 -0
- package/dist/src/core/bootstrap/providers/ApiServiceProvider.d.ts +9 -0
- package/dist/src/core/bootstrap/providers/ApiServiceProvider.d.ts.map +1 -0
- package/dist/src/core/bootstrap/providers/ApiServiceProvider.js +18 -0
- package/dist/src/core/bootstrap/providers/ApiServiceProvider.js.map +1 -0
- package/dist/src/core/bootstrap/providers/CoreServiceProvider.d.ts +6 -0
- package/dist/src/core/bootstrap/providers/CoreServiceProvider.d.ts.map +1 -0
- package/dist/src/core/bootstrap/providers/CoreServiceProvider.js +21 -0
- package/dist/src/core/bootstrap/providers/CoreServiceProvider.js.map +1 -0
- package/dist/src/core/bootstrap/providers/HelperServiceProvider.d.ts +7 -0
- package/dist/src/core/bootstrap/providers/HelperServiceProvider.d.ts.map +1 -0
- package/dist/src/core/bootstrap/providers/HelperServiceProvider.js +14 -0
- package/dist/src/core/bootstrap/providers/HelperServiceProvider.js.map +1 -0
- package/dist/src/core/bootstrap/providers/RouteServiceProvider.d.ts +9 -0
- package/dist/src/core/bootstrap/providers/RouteServiceProvider.d.ts.map +1 -0
- package/dist/src/core/bootstrap/providers/RouteServiceProvider.js +18 -0
- package/dist/src/core/bootstrap/providers/RouteServiceProvider.js.map +1 -0
- package/dist/src/core/bootstrap/providers/ServiceProvider.d.ts +38 -0
- package/dist/src/core/bootstrap/providers/ServiceProvider.d.ts.map +1 -0
- package/dist/src/core/bootstrap/providers/ServiceProvider.js +41 -0
- package/dist/src/core/bootstrap/providers/ServiceProvider.js.map +1 -0
- package/dist/src/core/bootstrap/providers/ViewServiceProvider.d.ts +9 -0
- package/dist/src/core/bootstrap/providers/ViewServiceProvider.d.ts.map +1 -0
- package/dist/src/core/bootstrap/providers/ViewServiceProvider.js +18 -0
- package/dist/src/core/bootstrap/providers/ViewServiceProvider.js.map +1 -0
- package/dist/src/core/bootstrap/providers/default-providers.d.ts +14 -0
- package/dist/src/core/bootstrap/providers/default-providers.d.ts.map +1 -0
- package/dist/src/core/bootstrap/providers/default-providers.js +79 -0
- package/dist/src/core/bootstrap/providers/default-providers.js.map +1 -0
- package/dist/src/core/bootstrap/providers/index.d.ts +10 -0
- package/dist/src/core/bootstrap/providers/index.d.ts.map +1 -0
- package/dist/src/core/bootstrap/providers/index.js +9 -0
- package/dist/src/core/bootstrap/providers/index.js.map +1 -0
- package/dist/src/core/bootstrap/providers/provider-order.d.ts +19 -0
- package/dist/src/core/bootstrap/providers/provider-order.d.ts.map +1 -0
- package/dist/src/core/bootstrap/providers/provider-order.js +51 -0
- package/dist/src/core/bootstrap/providers/provider-order.js.map +1 -0
- package/dist/src/core/cache/ViewCache.d.ts +46 -0
- package/dist/src/core/cache/ViewCache.d.ts.map +1 -0
- package/dist/src/core/cache/ViewCache.js +85 -0
- package/dist/src/core/cache/ViewCache.js.map +1 -0
- package/dist/src/core/cache/index.d.ts +2 -0
- package/dist/src/core/cache/index.d.ts.map +1 -0
- package/dist/src/core/cache/index.js +2 -0
- package/dist/src/core/cache/index.js.map +1 -0
- package/dist/src/core/contracts/ApiInterface.d.ts +11 -0
- package/dist/src/core/contracts/ApiInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/ApiInterface.js +2 -0
- package/dist/src/core/contracts/ApiInterface.js.map +1 -0
- package/dist/src/core/contracts/ApplicationInterface.d.ts +66 -0
- package/dist/src/core/contracts/ApplicationInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/ApplicationInterface.js +3 -0
- package/dist/src/core/contracts/ApplicationInterface.js.map +1 -0
- package/dist/src/core/contracts/BlockInterface.d.ts +67 -0
- package/dist/src/core/contracts/BlockInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/BlockInterface.js +2 -0
- package/dist/src/core/contracts/BlockInterface.js.map +1 -0
- package/dist/src/core/contracts/ComponentInterface.d.ts +24 -0
- package/dist/src/core/contracts/ComponentInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/ComponentInterface.js +2 -0
- package/dist/src/core/contracts/ComponentInterface.js.map +1 -0
- package/dist/src/core/contracts/ElementInterface.d.ts +117 -0
- package/dist/src/core/contracts/ElementInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/ElementInterface.js +2 -0
- package/dist/src/core/contracts/ElementInterface.js.map +1 -0
- package/dist/src/core/contracts/EventServiceInterface.d.ts +37 -0
- package/dist/src/core/contracts/EventServiceInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/EventServiceInterface.js +3 -0
- package/dist/src/core/contracts/EventServiceInterface.js.map +1 -0
- package/dist/src/core/contracts/HelperInterface.d.ts +231 -0
- package/dist/src/core/contracts/HelperInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/HelperInterface.js +3 -0
- package/dist/src/core/contracts/HelperInterface.js.map +1 -0
- package/dist/src/core/contracts/HttpServiceInterface.d.ts +38 -0
- package/dist/src/core/contracts/HttpServiceInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/HttpServiceInterface.js +3 -0
- package/dist/src/core/contracts/HttpServiceInterface.js.map +1 -0
- package/dist/src/core/contracts/LoggerServiceInterface.d.ts +37 -0
- package/dist/src/core/contracts/LoggerServiceInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/LoggerServiceInterface.js +3 -0
- package/dist/src/core/contracts/LoggerServiceInterface.js.map +1 -0
- package/dist/src/core/contracts/LoopContextInterface.d.ts +14 -0
- package/dist/src/core/contracts/LoopContextInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/LoopContextInterface.js +3 -0
- package/dist/src/core/contracts/LoopContextInterface.js.map +1 -0
- package/dist/src/core/contracts/MarkerInterface.d.ts +55 -0
- package/dist/src/core/contracts/MarkerInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/MarkerInterface.js +2 -0
- package/dist/src/core/contracts/MarkerInterface.js.map +1 -0
- package/dist/src/core/contracts/ReactiveInterface.d.ts +38 -0
- package/dist/src/core/contracts/ReactiveInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/ReactiveInterface.js +2 -0
- package/dist/src/core/contracts/ReactiveInterface.js.map +1 -0
- package/dist/src/core/contracts/RouterInterface.d.ts +58 -0
- package/dist/src/core/contracts/RouterInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/RouterInterface.js +2 -0
- package/dist/src/core/contracts/RouterInterface.js.map +1 -0
- package/dist/src/core/contracts/ServiceProviderInterface.d.ts +12 -0
- package/dist/src/core/contracts/ServiceProviderInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/ServiceProviderInterface.js +2 -0
- package/dist/src/core/contracts/ServiceProviderInterface.js.map +1 -0
- package/dist/src/core/contracts/StorageServiceInterface.d.ts +43 -0
- package/dist/src/core/contracts/StorageServiceInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/StorageServiceInterface.js +3 -0
- package/dist/src/core/contracts/StorageServiceInterface.js.map +1 -0
- package/dist/src/core/contracts/StoreServiceInterface.d.ts +45 -0
- package/dist/src/core/contracts/StoreServiceInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/StoreServiceInterface.js +3 -0
- package/dist/src/core/contracts/StoreServiceInterface.js.map +1 -0
- package/dist/src/core/contracts/ViewCacheInterface.d.ts +13 -0
- package/dist/src/core/contracts/ViewCacheInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/ViewCacheInterface.js +3 -0
- package/dist/src/core/contracts/ViewCacheInterface.js.map +1 -0
- package/dist/src/core/contracts/ViewControllerInterface.d.ts +115 -0
- package/dist/src/core/contracts/ViewControllerInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/ViewControllerInterface.js +2 -0
- package/dist/src/core/contracts/ViewControllerInterface.js.map +1 -0
- package/dist/src/core/contracts/ViewInterface.d.ts +24 -0
- package/dist/src/core/contracts/ViewInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/ViewInterface.js +2 -0
- package/dist/src/core/contracts/ViewInterface.js.map +1 -0
- package/dist/src/core/contracts/ViewManagerInterface.d.ts +44 -0
- package/dist/src/core/contracts/ViewManagerInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/ViewManagerInterface.js +2 -0
- package/dist/src/core/contracts/ViewManagerInterface.js.map +1 -0
- package/dist/src/core/contracts/ViewStateInterface.d.ts +40 -0
- package/dist/src/core/contracts/ViewStateInterface.d.ts.map +1 -0
- package/dist/src/core/contracts/ViewStateInterface.js +3 -0
- package/dist/src/core/contracts/ViewStateInterface.js.map +1 -0
- package/dist/src/core/contracts/common.d.ts +28 -0
- package/dist/src/core/contracts/common.d.ts.map +1 -0
- package/dist/src/core/contracts/common.js +29 -0
- package/dist/src/core/contracts/common.js.map +1 -0
- package/dist/src/core/contracts/utils.d.ts +20 -0
- package/dist/src/core/contracts/utils.d.ts.map +1 -0
- package/dist/src/core/contracts/utils.js +4 -0
- package/dist/src/core/contracts/utils.js.map +1 -0
- package/dist/src/core/contracts/views.d.ts +23 -0
- package/dist/src/core/contracts/views.d.ts.map +1 -0
- package/dist/src/core/contracts/views.js +2 -0
- package/dist/src/core/contracts/views.js.map +1 -0
- package/dist/src/core/elements/Block.d.ts +58 -0
- package/dist/src/core/elements/Block.d.ts.map +1 -0
- package/dist/src/core/elements/Block.js +77 -0
- package/dist/src/core/elements/Block.js.map +1 -0
- package/dist/src/core/elements/BlockOutlet.d.ts +34 -0
- package/dist/src/core/elements/BlockOutlet.d.ts.map +1 -0
- package/dist/src/core/elements/BlockOutlet.js +59 -0
- package/dist/src/core/elements/BlockOutlet.js.map +1 -0
- package/dist/src/core/elements/Component.d.ts +62 -0
- package/dist/src/core/elements/Component.d.ts.map +1 -0
- package/dist/src/core/elements/Component.js +72 -0
- package/dist/src/core/elements/Component.js.map +1 -0
- package/dist/src/core/elements/ElementManager.d.ts +23 -0
- package/dist/src/core/elements/ElementManager.d.ts.map +1 -0
- package/dist/src/core/elements/ElementManager.js +33 -0
- package/dist/src/core/elements/ElementManager.js.map +1 -0
- package/dist/src/core/elements/Fragment.d.ts +51 -0
- package/dist/src/core/elements/Fragment.d.ts.map +1 -0
- package/dist/src/core/elements/Fragment.js +133 -0
- package/dist/src/core/elements/Fragment.js.map +1 -0
- package/dist/src/core/elements/Html.d.ts +52 -0
- package/dist/src/core/elements/Html.d.ts.map +1 -0
- package/dist/src/core/elements/Html.js +299 -0
- package/dist/src/core/elements/Html.js.map +1 -0
- package/dist/src/core/elements/Output.d.ts +69 -0
- package/dist/src/core/elements/Output.d.ts.map +1 -0
- package/dist/src/core/elements/Output.js +121 -0
- package/dist/src/core/elements/Output.js.map +1 -0
- package/dist/src/core/elements/Reactive.d.ts +77 -0
- package/dist/src/core/elements/Reactive.d.ts.map +1 -0
- package/dist/src/core/elements/Reactive.js +199 -0
- package/dist/src/core/elements/Reactive.js.map +1 -0
- package/dist/src/core/elements/TextElement.d.ts +46 -0
- package/dist/src/core/elements/TextElement.d.ts.map +1 -0
- package/dist/src/core/elements/TextElement.js +94 -0
- package/dist/src/core/elements/TextElement.js.map +1 -0
- package/dist/src/core/elements/Wrapper.d.ts +50 -0
- package/dist/src/core/elements/Wrapper.d.ts.map +1 -0
- package/dist/src/core/elements/Wrapper.js +96 -0
- package/dist/src/core/elements/Wrapper.js.map +1 -0
- package/dist/src/core/elements/Yield.d.ts +34 -0
- package/dist/src/core/elements/Yield.d.ts.map +1 -0
- package/dist/src/core/elements/Yield.js +56 -0
- package/dist/src/core/elements/Yield.js.map +1 -0
- package/dist/src/core/elements/helpers.d.ts +8 -0
- package/dist/src/core/elements/helpers.d.ts.map +1 -0
- package/dist/src/core/elements/helpers.js +40 -0
- package/dist/src/core/elements/helpers.js.map +1 -0
- package/dist/src/core/elements/index.d.ts +12 -0
- package/dist/src/core/elements/index.d.ts.map +1 -0
- package/dist/src/core/elements/index.js +12 -0
- package/dist/src/core/elements/index.js.map +1 -0
- package/dist/src/core/hellpers/ApiClient.d.ts +58 -0
- package/dist/src/core/hellpers/ApiClient.d.ts.map +1 -0
- package/dist/src/core/hellpers/ApiClient.js +122 -0
- package/dist/src/core/hellpers/ApiClient.js.map +1 -0
- package/dist/src/core/hellpers/app.d.ts +3 -0
- package/dist/src/core/hellpers/app.d.ts.map +1 -0
- package/dist/src/core/hellpers/app.js +53 -0
- package/dist/src/core/hellpers/app.js.map +1 -0
- package/dist/src/core/hellpers/utils.d.ts +26 -0
- package/dist/src/core/hellpers/utils.d.ts.map +1 -0
- package/dist/src/core/hellpers/utils.js +96 -0
- package/dist/src/core/hellpers/utils.js.map +1 -0
- package/dist/src/core/routers/Router.d.ts +212 -0
- package/dist/src/core/routers/Router.d.ts.map +1 -0
- package/dist/src/core/routers/Router.js +623 -0
- package/dist/src/core/routers/Router.js.map +1 -0
- package/dist/src/core/routers/index.d.ts +3 -0
- package/dist/src/core/routers/index.d.ts.map +1 -0
- package/dist/src/core/routers/index.js +2 -0
- package/dist/src/core/routers/index.js.map +1 -0
- package/dist/src/core/services/BlockManager.d.ts +63 -0
- package/dist/src/core/services/BlockManager.d.ts.map +1 -0
- package/dist/src/core/services/BlockManager.js +191 -0
- package/dist/src/core/services/BlockManager.js.map +1 -0
- package/dist/src/core/services/DomService.d.ts +9 -0
- package/dist/src/core/services/DomService.d.ts.map +1 -0
- package/dist/src/core/services/DomService.js +18 -0
- package/dist/src/core/services/DomService.js.map +1 -0
- package/dist/src/core/services/EventService.d.ts +58 -0
- package/dist/src/core/services/EventService.d.ts.map +1 -0
- package/dist/src/core/services/EventService.js +212 -0
- package/dist/src/core/services/EventService.js.map +1 -0
- package/dist/src/core/services/HelperService.d.ts +443 -0
- package/dist/src/core/services/HelperService.d.ts.map +1 -0
- package/dist/src/core/services/HelperService.js +1650 -0
- package/dist/src/core/services/HelperService.js.map +1 -0
- package/dist/src/core/services/HttpService.d.ts +63 -0
- package/dist/src/core/services/HttpService.d.ts.map +1 -0
- package/dist/src/core/services/HttpService.js +182 -0
- package/dist/src/core/services/HttpService.js.map +1 -0
- package/dist/src/core/services/LoggerService.d.ts +56 -0
- package/dist/src/core/services/LoggerService.d.ts.map +1 -0
- package/dist/src/core/services/LoggerService.js +94 -0
- package/dist/src/core/services/LoggerService.js.map +1 -0
- package/dist/src/core/services/MarkerRegistry.d.ts +94 -0
- package/dist/src/core/services/MarkerRegistry.d.ts.map +1 -0
- package/dist/src/core/services/MarkerRegistry.js +199 -0
- package/dist/src/core/services/MarkerRegistry.js.map +1 -0
- package/dist/src/core/services/MarkerService.d.ts +299 -0
- package/dist/src/core/services/MarkerService.d.ts.map +1 -0
- package/dist/src/core/services/MarkerService.js +723 -0
- package/dist/src/core/services/MarkerService.js.map +1 -0
- package/dist/src/core/services/StorageService.d.ts +69 -0
- package/dist/src/core/services/StorageService.d.ts.map +1 -0
- package/dist/src/core/services/StorageService.js +243 -0
- package/dist/src/core/services/StorageService.js.map +1 -0
- package/dist/src/core/services/StoreService.d.ts +80 -0
- package/dist/src/core/services/StoreService.d.ts.map +1 -0
- package/dist/src/core/services/StoreService.js +301 -0
- package/dist/src/core/services/StoreService.js.map +1 -0
- package/dist/src/core/services/index.d.ts +9 -0
- package/dist/src/core/services/index.d.ts.map +1 -0
- package/dist/src/core/services/index.js +9 -0
- package/dist/src/core/services/index.js.map +1 -0
- package/dist/src/core/types/utils.d.ts +29 -0
- package/dist/src/core/types/utils.d.ts.map +1 -0
- package/dist/src/core/types/utils.js +22 -0
- package/dist/src/core/types/utils.js.map +1 -0
- package/dist/src/core/view/LoopContext.d.ts +38 -0
- package/dist/src/core/view/LoopContext.d.ts.map +1 -0
- package/dist/src/core/view/LoopContext.js +100 -0
- package/dist/src/core/view/LoopContext.js.map +1 -0
- package/dist/src/core/view/Section.d.ts +41 -0
- package/dist/src/core/view/Section.d.ts.map +1 -0
- package/dist/src/core/view/Section.js +67 -0
- package/dist/src/core/view/Section.js.map +1 -0
- package/dist/src/core/view/View.d.ts +63 -0
- package/dist/src/core/view/View.d.ts.map +1 -0
- package/dist/src/core/view/View.js +85 -0
- package/dist/src/core/view/View.js.map +1 -0
- package/dist/src/core/view/ViewController.d.ts +277 -0
- package/dist/src/core/view/ViewController.d.ts.map +1 -0
- package/dist/src/core/view/ViewController.js +862 -0
- package/dist/src/core/view/ViewController.js.map +1 -0
- package/dist/src/core/view/ViewManager.d.ts +141 -0
- package/dist/src/core/view/ViewManager.d.ts.map +1 -0
- package/dist/src/core/view/ViewManager.js +565 -0
- package/dist/src/core/view/ViewManager.js.map +1 -0
- package/dist/src/core/view/ViewState.d.ts +117 -0
- package/dist/src/core/view/ViewState.d.ts.map +1 -0
- package/dist/src/core/view/ViewState.js +410 -0
- package/dist/src/core/view/ViewState.js.map +1 -0
- package/dist/src/core/view/index.d.ts +6 -0
- package/dist/src/core/view/index.d.ts.map +1 -0
- package/dist/src/core/view/index.js +6 -0
- package/dist/src/core/view/index.js.map +1 -0
- package/index.ts +62 -0
- package/package.json +70 -0
- package/plugins.ts +77 -0
- package/src/core/app/Application.ts +410 -0
- package/src/core/bootstrap/app.ts +58 -0
- package/src/core/bootstrap/providers/ApiServiceProvider.ts +18 -0
- package/src/core/bootstrap/providers/CoreServiceProvider.ts +19 -0
- package/src/core/bootstrap/providers/HelperServiceProvider.ts +12 -0
- package/src/core/bootstrap/providers/RouteServiceProvider.ts +17 -0
- package/src/core/bootstrap/providers/ServiceProvider.ts +51 -0
- package/src/core/bootstrap/providers/ViewServiceProvider.ts +17 -0
- package/src/core/bootstrap/providers/default-providers.ts +94 -0
- package/src/core/bootstrap/providers/index.ts +9 -0
- package/src/core/bootstrap/providers/provider-order.test.ts +67 -0
- package/src/core/bootstrap/providers/provider-order.ts +66 -0
- package/src/core/cache/ViewCache.ts +102 -0
- package/src/core/cache/index.ts +1 -0
- package/src/core/contracts/ApiInterface.ts +11 -0
- package/src/core/contracts/ApplicationInterface.ts +79 -0
- package/src/core/contracts/BlockInterface.ts +76 -0
- package/src/core/contracts/ComponentInterface.ts +26 -0
- package/src/core/contracts/ElementInterface.ts +140 -0
- package/src/core/contracts/EventServiceInterface.ts +47 -0
- package/src/core/contracts/HelperInterface.ts +256 -0
- package/src/core/contracts/HttpServiceInterface.ts +51 -0
- package/src/core/contracts/LoggerServiceInterface.ts +48 -0
- package/src/core/contracts/LoopContextInterface.ts +15 -0
- package/src/core/contracts/MarkerInterface.ts +77 -0
- package/src/core/contracts/ReactiveInterface.ts +45 -0
- package/src/core/contracts/RouterInterface.ts +65 -0
- package/src/core/contracts/ServiceProviderInterface.ts +12 -0
- package/src/core/contracts/StorageServiceInterface.ts +48 -0
- package/src/core/contracts/StoreServiceInterface.ts +50 -0
- package/src/core/contracts/ViewCacheInterface.ts +14 -0
- package/src/core/contracts/ViewControllerInterface.ts +135 -0
- package/src/core/contracts/ViewInterface.ts +31 -0
- package/src/core/contracts/ViewManagerInterface.ts +45 -0
- package/src/core/contracts/ViewStateInterface.ts +47 -0
- package/src/core/contracts/common.ts +27 -0
- package/src/core/contracts/utils.ts +23 -0
- package/src/core/contracts/views.ts +23 -0
- package/src/core/elements/Block.ts +113 -0
- package/src/core/elements/BlockOutlet.ts +83 -0
- package/src/core/elements/Component.ts +114 -0
- package/src/core/elements/ElementManager.ts +48 -0
- package/src/core/elements/Fragment.ts +168 -0
- package/src/core/elements/Html.ts +364 -0
- package/src/core/elements/Output.ts +167 -0
- package/src/core/elements/Reactive.ts +253 -0
- package/src/core/elements/TextElement.ts +110 -0
- package/src/core/elements/Wrapper.ts +131 -0
- package/src/core/elements/Yield.ts +70 -0
- package/src/core/elements/helpers.ts +56 -0
- package/src/core/elements/index.ts +26 -0
- package/src/core/hellpers/ApiClient.ts +145 -0
- package/src/core/hellpers/app.ts +57 -0
- package/src/core/hellpers/utils.ts +109 -0
- package/src/core/routers/Router.ts +765 -0
- package/src/core/routers/index.ts +2 -0
- package/src/core/services/BlockManager.ts +210 -0
- package/src/core/services/DomService.ts +26 -0
- package/src/core/services/EventService.ts +266 -0
- package/src/core/services/HelperService.ts +1653 -0
- package/src/core/services/HttpService.ts +235 -0
- package/src/core/services/LoggerService.ts +139 -0
- package/src/core/services/MarkerRegistry.ts +239 -0
- package/src/core/services/MarkerService.ts +923 -0
- package/src/core/services/StorageService.ts +268 -0
- package/src/core/services/StoreService.ts +338 -0
- package/src/core/services/index.ts +8 -0
- package/src/core/types/utils.ts +30 -0
- package/src/core/view/LoopContext.ts +109 -0
- package/src/core/view/Section.ts +86 -0
- package/src/core/view/View.ts +109 -0
- package/src/core/view/ViewController.ts +1002 -0
- package/src/core/view/ViewManager.ts +700 -0
- package/src/core/view/ViewState.ts +453 -0
- package/src/core/view/index.ts +5 -0
package/README.md
ADDED
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
# Saola Client
|
|
2
|
+
|
|
3
|
+
> Modern TypeScript Framework for Laravel - Reactive SPAs with TypeScript-first approach
|
|
4
|
+
|
|
5
|
+
[](https://badge.fury.io/js/saola-client)
|
|
6
|
+
[](https://opensource.org/licenses/MIT)
|
|
7
|
+
|
|
8
|
+
Saola Client is the TypeScript runtime library for building reactive single-page applications that integrate seamlessly with Laravel backends.
|
|
9
|
+
|
|
10
|
+
## Features
|
|
11
|
+
|
|
12
|
+
- ⚡ **TypeScript First**: Full TypeScript support with excellent type safety
|
|
13
|
+
- 🎨 **Reactive Views**: Built-in reactive view system with automatic state management
|
|
14
|
+
- 📦 **Modular Architecture**: Component-based architecture for scalable applications
|
|
15
|
+
- 🔄 **Hot Module Replacement**: Development watch mode with automatic compilation
|
|
16
|
+
- 🚀 **Laravel Integration**: Seamless integration with Laravel backends
|
|
17
|
+
- 📱 **SSR Support**: Server-side rendering capabilities
|
|
18
|
+
- 🎯 **Lightweight**: Minimal bundle size with tree-shaking support
|
|
19
|
+
- 🔧 **Developer Friendly**: Excellent DX with CLI tools and build utilities
|
|
20
|
+
|
|
21
|
+
## Installation
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install saola-client
|
|
25
|
+
# or
|
|
26
|
+
yarn add saola-client
|
|
27
|
+
# or
|
|
28
|
+
pnpm add saola-client
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Quick Start
|
|
32
|
+
|
|
33
|
+
### Basic Setup
|
|
34
|
+
|
|
35
|
+
```typescript
|
|
36
|
+
import { Application, app, appContainer } from 'saola-client';
|
|
37
|
+
import { ViewController } from 'saola-client';
|
|
38
|
+
|
|
39
|
+
// Initialize your app
|
|
40
|
+
const app = new Application({
|
|
41
|
+
el: '#app',
|
|
42
|
+
debug: true
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
await app.init();
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Creating a View
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
51
|
+
import { ViewBase, ViewController } from 'saola-client';
|
|
52
|
+
|
|
53
|
+
export class HomeView extends ViewBase {
|
|
54
|
+
constructor() {
|
|
55
|
+
super('home', 'home-template');
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
onMount() {
|
|
59
|
+
// Initialize view logic
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export class HomeController extends ViewController {
|
|
64
|
+
view = HomeView;
|
|
65
|
+
|
|
66
|
+
onLoad() {
|
|
67
|
+
// Handle view data loading
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Routing
|
|
73
|
+
|
|
74
|
+
```typescript
|
|
75
|
+
import { Router } from 'saola-client';
|
|
76
|
+
|
|
77
|
+
const router = new Router();
|
|
78
|
+
|
|
79
|
+
router.register('home', HomeController);
|
|
80
|
+
router.register('about', AboutController);
|
|
81
|
+
|
|
82
|
+
router.navigate('home');
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### State Management
|
|
86
|
+
|
|
87
|
+
```typescript
|
|
88
|
+
import { ViewState, StateManager } from 'saola-client';
|
|
89
|
+
|
|
90
|
+
const state = new ViewState({
|
|
91
|
+
count: 0,
|
|
92
|
+
user: null
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
state.count = 5; // Trigger reactive updates
|
|
96
|
+
state.subscribe(newState => {
|
|
97
|
+
console.log('State updated:', newState);
|
|
98
|
+
});
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## API Reference
|
|
102
|
+
|
|
103
|
+
### Core Classes
|
|
104
|
+
|
|
105
|
+
#### Application
|
|
106
|
+
|
|
107
|
+
The main application class that manages the lifecycle of your Saola app.
|
|
108
|
+
|
|
109
|
+
```typescript
|
|
110
|
+
import { Application } from 'saola-client';
|
|
111
|
+
|
|
112
|
+
const app = new Application({
|
|
113
|
+
el: '#app', // Mount element
|
|
114
|
+
debug: true, // Enable debug mode
|
|
115
|
+
baseUrl: '/app' // Base URL for routing
|
|
116
|
+
});
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
#### View System
|
|
120
|
+
|
|
121
|
+
```typescript
|
|
122
|
+
import { View, ViewController, ViewManager } from 'saola-client';
|
|
123
|
+
|
|
124
|
+
// Create a view
|
|
125
|
+
class MyView extends View {
|
|
126
|
+
template = '<div>Hello World</div>';
|
|
127
|
+
|
|
128
|
+
onMount() {
|
|
129
|
+
console.log('View mounted');
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// Create a controller
|
|
134
|
+
class MyController extends ViewController {
|
|
135
|
+
view = MyView;
|
|
136
|
+
|
|
137
|
+
onLoad() {
|
|
138
|
+
// Load data
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
#### Router
|
|
144
|
+
|
|
145
|
+
```typescript
|
|
146
|
+
import { Router } from 'saola-client';
|
|
147
|
+
|
|
148
|
+
const router = new Router();
|
|
149
|
+
|
|
150
|
+
// Register routes
|
|
151
|
+
router.register('home', HomeController);
|
|
152
|
+
router.register('user/:id', UserController);
|
|
153
|
+
|
|
154
|
+
// Navigate
|
|
155
|
+
router.navigate('home');
|
|
156
|
+
router.navigate('user/123');
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## Plugins
|
|
160
|
+
|
|
161
|
+
Extend Saola Client with plugins:
|
|
162
|
+
|
|
163
|
+
```typescript
|
|
164
|
+
import { PluginManager } from 'saola-client/plugins';
|
|
165
|
+
|
|
166
|
+
const pluginManager = new PluginManager();
|
|
167
|
+
|
|
168
|
+
// Register and install plugins
|
|
169
|
+
pluginManager
|
|
170
|
+
.register(myPlugin)
|
|
171
|
+
.install('myPlugin', { option: 'value' });
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## Development
|
|
175
|
+
|
|
176
|
+
### Building
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
npm run build # Build for production
|
|
180
|
+
npm run dev # Watch mode for development
|
|
181
|
+
npm run clean # Clean build artifacts
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### Testing
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
npm test
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
## Integration with Saola Compiler
|
|
191
|
+
|
|
192
|
+
Saola Client works seamlessly with [Saola Compiler](https://github.com/saolabs/saola-compiler) to compile `.one` files into Blade templates and JavaScript.
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
# Install both packages
|
|
196
|
+
npm install saola-client saola-compiler
|
|
197
|
+
|
|
198
|
+
# Use in your Laravel project
|
|
199
|
+
# The compiler will generate files that use saola-client
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
## Contributing
|
|
203
|
+
|
|
204
|
+
1. Fork the repository
|
|
205
|
+
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
|
|
206
|
+
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
|
|
207
|
+
4. Push to the branch (`git push origin feature/amazing-feature`)
|
|
208
|
+
5. Open a Pull Request
|
|
209
|
+
|
|
210
|
+
## License
|
|
211
|
+
|
|
212
|
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
213
|
+
|
|
214
|
+
## Related Projects
|
|
215
|
+
|
|
216
|
+
- [Saola Compiler](https://github.com/saolabs/saola-compiler) - Template compiler for .one files
|
|
217
|
+
- [Saola Language Support](https://github.com/saolabs/saola-language-support) - VS Code extension for .one files
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
**Built with ❤️ by Saola Labs**
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OneJS V2 - Main Export
|
|
3
|
+
* TypeScript Core with Optimizations
|
|
4
|
+
*/
|
|
5
|
+
export { Application } from './src/core/app/Application.js';
|
|
6
|
+
export { app } from './src/core/hellpers/app.js';
|
|
7
|
+
export { default as App } from './src/core/bootstrap/app.js';
|
|
8
|
+
export { MarkerService } from './src/core/services/MarkerService.js';
|
|
9
|
+
export { EventService } from './src/core/services/EventService.js';
|
|
10
|
+
export { HttpService } from './src/core/services/HttpService.js';
|
|
11
|
+
export { StoreService } from './src/core/services/StoreService.js';
|
|
12
|
+
export { StorageService } from './src/core/services/StorageService.js';
|
|
13
|
+
export { LoggerService } from './src/core/services/LoggerService.js';
|
|
14
|
+
export { HelperService, CollectionProxy } from './src/core/services/HelperService.js';
|
|
15
|
+
export { BlockManagerService, BlockManager } from './src/core/services/BlockManager.js';
|
|
16
|
+
export { MarkerRegistry, MarkerRegistryService } from './src/core/services/MarkerRegistry.js';
|
|
17
|
+
export { View, ViewController, ViewManager, ViewState, StateManager, LoopContext } from './src/core/view/index.js';
|
|
18
|
+
export { Router, ActiveRoute, useRoute, useParams, useQuery } from './src/core/routers/Router.js';
|
|
19
|
+
export { Reactive } from './src/core/elements/Reactive.js';
|
|
20
|
+
export { Block } from './src/core/elements/Block.js';
|
|
21
|
+
export { BlockOutlet } from './src/core/elements/BlockOutlet.js';
|
|
22
|
+
export { Html } from './src/core/elements/Html.js';
|
|
23
|
+
export { Fragment } from './src/core/elements/Fragment.js';
|
|
24
|
+
export { Component } from './src/core/elements/Component.js';
|
|
25
|
+
export { TextElement } from './src/core/elements/TextElement.js';
|
|
26
|
+
export { Output } from './src/core/elements/Output.js';
|
|
27
|
+
export { Wrapper } from './src/core/elements/Wrapper.js';
|
|
28
|
+
export { ElementManager } from './src/core/elements/ElementManager.js';
|
|
29
|
+
export { Dom, DomService } from './src/core/services/DomService.js';
|
|
30
|
+
export { ApiClient } from './src/core/hellpers/ApiClient.js';
|
|
31
|
+
export type { ApplicationInterface } from './src/core/contracts/ApplicationInterface.js';
|
|
32
|
+
export type { HelperInterface, CollectionProxyInterface } from './src/core/contracts/HelperInterface.js';
|
|
33
|
+
export type { EventServiceInterface } from './src/core/contracts/EventServiceInterface.js';
|
|
34
|
+
export type { HttpServiceInterface, HttpRequestConfig, HttpResponse, HttpInterceptor } from './src/core/contracts/HttpServiceInterface.js';
|
|
35
|
+
export type { StoreServiceInterface } from './src/core/contracts/StoreServiceInterface.js';
|
|
36
|
+
export type { StorageServiceInterface } from './src/core/contracts/StorageServiceInterface.js';
|
|
37
|
+
export type { LoggerServiceInterface, LoggerConfig, LogLevel } from './src/core/contracts/LoggerServiceInterface.js';
|
|
38
|
+
export type { ViewInterface } from './src/core/contracts/ViewInterface.js';
|
|
39
|
+
export type { ViewControllerInterface } from './src/core/contracts/ViewControllerInterface.js';
|
|
40
|
+
export type { ViewManagerInterface } from './src/core/contracts/ViewManagerInterface.js';
|
|
41
|
+
export type { ReactiveInterface } from './src/core/contracts/ReactiveInterface.js';
|
|
42
|
+
export type { RouterInterface } from './src/core/contracts/RouterInterface.js';
|
|
43
|
+
export type { RouteDefinition, Route, RouteMatch, RouterConfig } from './src/core/routers/Router.js';
|
|
44
|
+
export type { MarkerRecord, MarkerTagName } from './src/core/contracts/MarkerInterface.js';
|
|
45
|
+
export type { APIEndpoints } from './src/core/hellpers/ApiClient.js';
|
|
46
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAG9F,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGnH,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAGlG,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAIvE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAGpE,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAG7D,YAAY,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACzF,YAAY,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACzG,YAAY,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAC3F,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC3I,YAAY,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAC3F,YAAY,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC/F,YAAY,EAAE,sBAAsB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AACrH,YAAY,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC3E,YAAY,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC/F,YAAY,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACzF,YAAY,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACnF,YAAY,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACrG,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAC3F,YAAY,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OneJS V2 - Main Export
|
|
3
|
+
* TypeScript Core with Optimizations
|
|
4
|
+
*/
|
|
5
|
+
// App
|
|
6
|
+
export { Application } from './src/core/app/Application.js';
|
|
7
|
+
export { app } from './src/core/hellpers/app.js';
|
|
8
|
+
export { default as App } from './src/core/bootstrap/app.js';
|
|
9
|
+
// Services
|
|
10
|
+
export { MarkerService } from './src/core/services/MarkerService.js';
|
|
11
|
+
export { EventService } from './src/core/services/EventService.js';
|
|
12
|
+
export { HttpService } from './src/core/services/HttpService.js';
|
|
13
|
+
export { StoreService } from './src/core/services/StoreService.js';
|
|
14
|
+
export { StorageService } from './src/core/services/StorageService.js';
|
|
15
|
+
export { LoggerService } from './src/core/services/LoggerService.js';
|
|
16
|
+
export { HelperService, CollectionProxy } from './src/core/services/HelperService.js';
|
|
17
|
+
export { BlockManagerService, BlockManager } from './src/core/services/BlockManager.js';
|
|
18
|
+
export { MarkerRegistry, MarkerRegistryService } from './src/core/services/MarkerRegistry.js';
|
|
19
|
+
// View System
|
|
20
|
+
export { View, ViewController, ViewManager, ViewState, StateManager, LoopContext } from './src/core/view/index.js';
|
|
21
|
+
// Router
|
|
22
|
+
export { Router, ActiveRoute, useRoute, useParams, useQuery } from './src/core/routers/Router.js';
|
|
23
|
+
// Elements
|
|
24
|
+
export { Reactive } from './src/core/elements/Reactive.js';
|
|
25
|
+
export { Block } from './src/core/elements/Block.js';
|
|
26
|
+
export { BlockOutlet } from './src/core/elements/BlockOutlet.js';
|
|
27
|
+
export { Html } from './src/core/elements/Html.js';
|
|
28
|
+
export { Fragment } from './src/core/elements/Fragment.js';
|
|
29
|
+
export { Component } from './src/core/elements/Component.js';
|
|
30
|
+
export { TextElement } from './src/core/elements/TextElement.js';
|
|
31
|
+
export { Output } from './src/core/elements/Output.js';
|
|
32
|
+
export { Wrapper } from './src/core/elements/Wrapper.js';
|
|
33
|
+
export { ElementManager } from './src/core/elements/ElementManager.js';
|
|
34
|
+
// DOM
|
|
35
|
+
export { Dom, DomService } from './src/core/services/DomService.js';
|
|
36
|
+
// Helpers
|
|
37
|
+
export { ApiClient } from './src/core/hellpers/ApiClient.js';
|
|
38
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM;AACN,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAE7D,WAAW;AACX,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAE9F,cAAc;AACd,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEnH,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAElG,WAAW;AACX,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAGvE,MAAM;AACN,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAEpE,UAAU;AACV,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OneView Plugins
|
|
3
|
+
* Extension system for OneView framework
|
|
4
|
+
*/
|
|
5
|
+
export interface PluginOptions {
|
|
6
|
+
[key: string]: unknown;
|
|
7
|
+
}
|
|
8
|
+
export interface Plugin {
|
|
9
|
+
name: string;
|
|
10
|
+
install(options?: PluginOptions): void;
|
|
11
|
+
}
|
|
12
|
+
declare class PluginManager {
|
|
13
|
+
private plugins;
|
|
14
|
+
private installed;
|
|
15
|
+
/**
|
|
16
|
+
* Register a plugin
|
|
17
|
+
*/
|
|
18
|
+
register(plugin: Plugin): this;
|
|
19
|
+
/**
|
|
20
|
+
* Install a registered plugin
|
|
21
|
+
*/
|
|
22
|
+
install(name: string, options?: PluginOptions): this;
|
|
23
|
+
/**
|
|
24
|
+
* Check if a plugin is installed
|
|
25
|
+
*/
|
|
26
|
+
isInstalled(name: string): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Get all registered plugins
|
|
29
|
+
*/
|
|
30
|
+
getPlugins(): Plugin[];
|
|
31
|
+
}
|
|
32
|
+
export declare const pluginManager: PluginManager;
|
|
33
|
+
/**
|
|
34
|
+
* Create a plugin
|
|
35
|
+
*/
|
|
36
|
+
export declare function createPlugin(name: string, install: (options?: PluginOptions) => void): Plugin;
|
|
37
|
+
export default pluginManager;
|
|
38
|
+
//# sourceMappingURL=plugins.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../plugins.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CACxC;AAED,cAAM,aAAa;IACjB,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,SAAS,CAA0B;IAE3C;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAS9B;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IAgBpD;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE;CAGvB;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC;AAEjD;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,aAAa,KAAK,IAAI,GAAG,MAAM,CAK7F;AAED,eAAe,aAAa,CAAC"}
|
package/dist/plugins.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OneView Plugins
|
|
3
|
+
* Extension system for OneView framework
|
|
4
|
+
*/
|
|
5
|
+
class PluginManager {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.plugins = new Map();
|
|
8
|
+
this.installed = new Set();
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Register a plugin
|
|
12
|
+
*/
|
|
13
|
+
register(plugin) {
|
|
14
|
+
if (this.plugins.has(plugin.name)) {
|
|
15
|
+
console.warn(`Plugin "${plugin.name}" is already registered`);
|
|
16
|
+
return this;
|
|
17
|
+
}
|
|
18
|
+
this.plugins.set(plugin.name, plugin);
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Install a registered plugin
|
|
23
|
+
*/
|
|
24
|
+
install(name, options) {
|
|
25
|
+
const plugin = this.plugins.get(name);
|
|
26
|
+
if (!plugin) {
|
|
27
|
+
throw new Error(`Plugin "${name}" is not registered`);
|
|
28
|
+
}
|
|
29
|
+
if (this.installed.has(name)) {
|
|
30
|
+
console.warn(`Plugin "${name}" is already installed`);
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
plugin.install(options);
|
|
34
|
+
this.installed.add(name);
|
|
35
|
+
return this;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Check if a plugin is installed
|
|
39
|
+
*/
|
|
40
|
+
isInstalled(name) {
|
|
41
|
+
return this.installed.has(name);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Get all registered plugins
|
|
45
|
+
*/
|
|
46
|
+
getPlugins() {
|
|
47
|
+
return Array.from(this.plugins.values());
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export const pluginManager = new PluginManager();
|
|
51
|
+
/**
|
|
52
|
+
* Create a plugin
|
|
53
|
+
*/
|
|
54
|
+
export function createPlugin(name, install) {
|
|
55
|
+
return {
|
|
56
|
+
name,
|
|
57
|
+
install
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export default pluginManager;
|
|
61
|
+
//# sourceMappingURL=plugins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../plugins.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,MAAM,aAAa;IAAnB;QACU,YAAO,GAAwB,IAAI,GAAG,EAAE,CAAC;QACzC,cAAS,GAAgB,IAAI,GAAG,EAAE,CAAC;IA8C7C,CAAC;IA5CC;;OAEG;IACH,QAAQ,CAAC,MAAc;QACrB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,IAAI,yBAAyB,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAY,EAAE,OAAuB;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,qBAAqB,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,wBAAwB,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,IAAY;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;CACF;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;AAEjD;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,OAA0C;IACnF,OAAO;QACL,IAAI;QACJ,OAAO;KACR,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Application — DI Container + App Lifecycle.
|
|
3
|
+
*
|
|
4
|
+
* Tương tự Laravel Service Container:
|
|
5
|
+
* - bind / singleton / instance → đăng ký service
|
|
6
|
+
* - make / resolve → lấy service
|
|
7
|
+
* - alias → tên tắt
|
|
8
|
+
* - register / boot → service providers
|
|
9
|
+
*
|
|
10
|
+
* Khác với core Application (hardcode services), bản này hoàn toàn DI-driven:
|
|
11
|
+
* mọi service (Router, ViewManager, Store...) đều được đăng ký qua providers.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* const app = new Application();
|
|
15
|
+
*
|
|
16
|
+
* // Đăng ký trực tiếp
|
|
17
|
+
* app.singleton('markerRegistry', MarkerRegistry);
|
|
18
|
+
* app.instance('config', { debug: true });
|
|
19
|
+
*
|
|
20
|
+
* // Đăng ký qua provider
|
|
21
|
+
* app.register({
|
|
22
|
+
* register(app) { app.singleton('router', () => new Router(app)); },
|
|
23
|
+
* boot(app) { app.make('router').start(); }
|
|
24
|
+
* });
|
|
25
|
+
*
|
|
26
|
+
* app.boot();
|
|
27
|
+
* const router = app.make('router');
|
|
28
|
+
*/
|
|
29
|
+
import type { ApplicationInterface, ServiceKey, ServiceFactory, ServiceBinding } from '../contracts/ApplicationInterface';
|
|
30
|
+
import type { ServiceProviderInterface } from '../contracts/ServiceProviderInterface';
|
|
31
|
+
import type { ViewManagerInterface, RouterInterface } from '../contracts/utils';
|
|
32
|
+
import type { HelperInterface } from '../contracts/HelperInterface';
|
|
33
|
+
import type { EventServiceInterface } from '../contracts/EventServiceInterface';
|
|
34
|
+
import type { HttpServiceInterface } from '../contracts/HttpServiceInterface';
|
|
35
|
+
import type { StoreServiceInterface } from '../contracts/StoreServiceInterface';
|
|
36
|
+
import type { StorageServiceInterface } from '../contracts/StorageServiceInterface';
|
|
37
|
+
import type { LoggerServiceInterface } from '../contracts/LoggerServiceInterface';
|
|
38
|
+
import { APIClientInterface } from '../contracts/ApiInterface';
|
|
39
|
+
import { OneObjectType } from '../types/utils';
|
|
40
|
+
export declare class Application implements ApplicationInterface {
|
|
41
|
+
readonly oneType: OneObjectType;
|
|
42
|
+
isInitialized: boolean;
|
|
43
|
+
isStarted: boolean;
|
|
44
|
+
View: ViewManagerInterface;
|
|
45
|
+
Router: RouterInterface;
|
|
46
|
+
Helper: HelperInterface;
|
|
47
|
+
Events: EventServiceInterface;
|
|
48
|
+
Http: HttpServiceInterface;
|
|
49
|
+
API: APIClientInterface;
|
|
50
|
+
Store: StoreServiceInterface;
|
|
51
|
+
Storage: StorageServiceInterface;
|
|
52
|
+
Logger: LoggerServiceInterface;
|
|
53
|
+
/** Factory bindings — mỗi lần make() gọi factory tạo instance mới */
|
|
54
|
+
private bindings;
|
|
55
|
+
/** Singleton instances — tạo một lần, reuse */
|
|
56
|
+
private singletons;
|
|
57
|
+
/** Aliases — tên tắt trỏ về key gốc */
|
|
58
|
+
private aliases;
|
|
59
|
+
/** Service providers đã đăng ký */
|
|
60
|
+
private providers;
|
|
61
|
+
/** Đã boot chưa */
|
|
62
|
+
private booted;
|
|
63
|
+
private ownProperties;
|
|
64
|
+
__store: Map<string, {
|
|
65
|
+
isOverridable: boolean;
|
|
66
|
+
value: any;
|
|
67
|
+
}>;
|
|
68
|
+
[key: string]: any;
|
|
69
|
+
constructor();
|
|
70
|
+
/**
|
|
71
|
+
* Đăng ký transient service.
|
|
72
|
+
* Mỗi lần make() trả về instance mới (không cache).
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* app.transient('request', (app) => new Request(app.make('config')));
|
|
76
|
+
* app.transient(Database, Database); // class shorthand
|
|
77
|
+
*/
|
|
78
|
+
transient<T>(key: ServiceKey<T>, value: ServiceBinding<T>): this;
|
|
79
|
+
bind<T>(key: ServiceKey<T>, value: ServiceBinding<T>): this;
|
|
80
|
+
/**
|
|
81
|
+
* Đăng ký singleton — tạo một lần, reuse mãi mãi.
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* app.singleton('store', StoreService); // class
|
|
85
|
+
* app.singleton('config', (app) => loadConfig()); // factory
|
|
86
|
+
* app.singleton(StoreService); // class, tự tạo
|
|
87
|
+
* app.singleton('store', existingInstance); // instance sẵn
|
|
88
|
+
*/
|
|
89
|
+
singleton<T>(key: ServiceKey<T>, value?: ServiceBinding<T> | T): this;
|
|
90
|
+
/**
|
|
91
|
+
* Đăng ký instance đã tạo sẵn.
|
|
92
|
+
* Shortcut cho singleton khi đã có instance.
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* app.instance('config', { debug: true, api_url: '/api' });
|
|
96
|
+
*/
|
|
97
|
+
instance<T>(key: ServiceKey<T>, value: T): this;
|
|
98
|
+
/**
|
|
99
|
+
* Tạo tên tắt cho service.
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* app.singleton('email.service', EmailService);
|
|
103
|
+
* app.alias('mailer', 'email.service');
|
|
104
|
+
* app.make('mailer') === app.make('email.service') // true
|
|
105
|
+
*/
|
|
106
|
+
alias(alias: string | symbol, key: ServiceKey): this;
|
|
107
|
+
/**
|
|
108
|
+
* Lấy service instance. Shortcut cho resolve().
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* const router = app.make<Router>('router');
|
|
112
|
+
*/
|
|
113
|
+
make<T>(key: ServiceKey<T>, defaultValue?: T): T;
|
|
114
|
+
/**
|
|
115
|
+
* Resolve service instance.
|
|
116
|
+
*
|
|
117
|
+
* Thứ tự tìm:
|
|
118
|
+
* 1. Alias → resolve key gốc
|
|
119
|
+
* 2. Singleton đã tạo → reuse
|
|
120
|
+
* 3. Binding (factory) → gọi factory
|
|
121
|
+
* 4. Key là class → auto-instantiate + cache
|
|
122
|
+
* 5. defaultValue → trả về
|
|
123
|
+
* 6. Throw error
|
|
124
|
+
*/
|
|
125
|
+
resolve<T>(key: ServiceKey<T>, defaultValue?: T): T;
|
|
126
|
+
/** Kiểm tra service đã đăng ký chưa */
|
|
127
|
+
has(key: ServiceKey): boolean;
|
|
128
|
+
/** Alias cho has() */
|
|
129
|
+
bound(key: ServiceKey): boolean;
|
|
130
|
+
/**
|
|
131
|
+
* Đăng ký service provider.
|
|
132
|
+
* register() được gọi ngay, boot() gọi khi app.boot().
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* app.register({
|
|
136
|
+
* register(app) { app.singleton('db', Database); },
|
|
137
|
+
* boot(app) { app.make('db').connect(); }
|
|
138
|
+
* });
|
|
139
|
+
*/
|
|
140
|
+
register(provider: ServiceProviderInterface): this;
|
|
141
|
+
/**
|
|
142
|
+
* Boot tất cả providers.
|
|
143
|
+
* Gọi boot() của mỗi provider theo thứ tự đăng ký.
|
|
144
|
+
* Chỉ chạy một lần.
|
|
145
|
+
*/
|
|
146
|
+
boot(): void;
|
|
147
|
+
/** Đã boot chưa */
|
|
148
|
+
get isBooted(): boolean;
|
|
149
|
+
/** Xóa toàn bộ bindings, singletons, aliases, __store. Reset container. */
|
|
150
|
+
flush(): void;
|
|
151
|
+
/** Destroy app — flush + cleanup */
|
|
152
|
+
destroy(): void;
|
|
153
|
+
getBindings(): Map<ServiceKey, ServiceFactory<any>>;
|
|
154
|
+
getSingletons(): Map<ServiceKey, any>;
|
|
155
|
+
set<T = any>(name: string, value: T, isOne?: boolean): void;
|
|
156
|
+
get<T = any>(name: string): T;
|
|
157
|
+
setMethod(name: string, method: Function, isOne?: boolean): void;
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=Application.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Application.d.ts","sourceRoot":"","sources":["../../../../src/core/app/Application.ts"],"names":[],"mappings":"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"}
|