@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkerService.js","sourceRoot":"","sources":["../../../../src/core/services/MarkerService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* StorageService — localStorage wrapper with TTL, events, import/export.
|
|
3
|
+
*
|
|
4
|
+
* Features:
|
|
5
|
+
* - get/set/remove/clear with TTL (seconds)
|
|
6
|
+
* - Event system: on('set', fn), on('set:key', fn), on('remove', fn)
|
|
7
|
+
* - Backup/restore, import/export (JSON)
|
|
8
|
+
* - Auto-cleans expired items on access
|
|
9
|
+
*
|
|
10
|
+
* Register via DI:
|
|
11
|
+
* app.singleton('storage', () => new StorageService('myapp'));
|
|
12
|
+
*/
|
|
13
|
+
export type StorageEventCallback = (data?: any) => void;
|
|
14
|
+
export declare class StorageService {
|
|
15
|
+
static instances: Map<string, StorageService>;
|
|
16
|
+
static getInstance(key?: string): StorageService;
|
|
17
|
+
static instance(key?: string): StorageService;
|
|
18
|
+
static removeInstance(key?: string): void;
|
|
19
|
+
private storageKey;
|
|
20
|
+
private data;
|
|
21
|
+
private listeners;
|
|
22
|
+
private supported;
|
|
23
|
+
constructor(storageKey?: string);
|
|
24
|
+
/**
|
|
25
|
+
* Set value with optional TTL (in seconds).
|
|
26
|
+
* Supports bulk set: set({ key1: val1, key2: val2 })
|
|
27
|
+
*/
|
|
28
|
+
set(key: string | Record<string, any>, value?: any, ttl?: number | null): boolean;
|
|
29
|
+
/** Get value (null if expired or missing) */
|
|
30
|
+
get<T = any>(key: string, defaultValue?: T | null): T | null;
|
|
31
|
+
/** Check if key exists and not expired */
|
|
32
|
+
has(key: string): boolean;
|
|
33
|
+
/** Remove key */
|
|
34
|
+
remove(key: string): boolean;
|
|
35
|
+
/** Clear all storage data */
|
|
36
|
+
clear(): void;
|
|
37
|
+
/** Get all non-expired values as plain object */
|
|
38
|
+
getAll(): Record<string, any>;
|
|
39
|
+
/** All non-expired keys */
|
|
40
|
+
getAllKeys(): string[];
|
|
41
|
+
/** Number of stored items */
|
|
42
|
+
size(): number;
|
|
43
|
+
isEmpty(): boolean;
|
|
44
|
+
/** Export all data as JSON string */
|
|
45
|
+
export(): string;
|
|
46
|
+
/** Import data from JSON string */
|
|
47
|
+
import(json: string): boolean;
|
|
48
|
+
/** Create backup snapshot */
|
|
49
|
+
backup(): {
|
|
50
|
+
timestamp: number;
|
|
51
|
+
key: string;
|
|
52
|
+
data: Record<string, any>;
|
|
53
|
+
};
|
|
54
|
+
/** Restore from backup */
|
|
55
|
+
restore(backup: {
|
|
56
|
+
data: Record<string, any>;
|
|
57
|
+
}): boolean;
|
|
58
|
+
/** Subscribe to storage events. Returns unsubscribe function. */
|
|
59
|
+
on(event: string, callback: StorageEventCallback): () => void;
|
|
60
|
+
/** Unsubscribe from event */
|
|
61
|
+
off(event: string, callback: StorageEventCallback): void;
|
|
62
|
+
destroy(): void;
|
|
63
|
+
private isExpired;
|
|
64
|
+
private cleanExpired;
|
|
65
|
+
private load;
|
|
66
|
+
private save;
|
|
67
|
+
private emit;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=StorageService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageService.d.ts","sourceRoot":"","sources":["../../../../src/core/services/StorageService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;AAIxD,qBAAa,cAAc;IAEvB,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAa;IAE1D,MAAM,CAAC,WAAW,CAAC,GAAG,GAAE,MAAkB,GAAG,cAAc;IAO3D,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAE,MAAkB,GAAG,cAAc;IAIxD,MAAM,CAAC,cAAc,CAAC,GAAG,GAAE,MAAkB,GAAG,IAAI;IAIpD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,IAAI,CAAkC;IAC9C,OAAO,CAAC,SAAS,CAA6C;IAC9D,OAAO,CAAC,SAAS,CAAU;gBAEf,UAAU,GAAE,MAA0B;IAQlD;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IA4BjF,6CAA6C;IAC7C,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,GAAE,CAAC,GAAG,IAAW,GAAG,CAAC,GAAG,IAAI;IAalE,0CAA0C;IAC1C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAOzB,iBAAiB;IACjB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAe5B,6BAA6B;IAC7B,KAAK,IAAI,IAAI;IASb,iDAAiD;IACjD,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAS7B,2BAA2B;IAC3B,UAAU,IAAI,MAAM,EAAE;IAKtB,6BAA6B;IAC7B,IAAI,IAAI,MAAM;IAKd,OAAO,IAAI,OAAO;IAMlB,qCAAqC;IACrC,MAAM,IAAI,MAAM;IAIhB,mCAAmC;IACnC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAc7B,6BAA6B;IAC7B,MAAM,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE;IAIvE,0BAA0B;IAC1B,OAAO,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,GAAG,OAAO;IAavD,iEAAiE;IACjE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,GAAG,MAAM,IAAI;IAM7D,6BAA6B;IAC7B,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,GAAG,IAAI;IASxD,OAAO,IAAI,IAAI;IAOf,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,IAAI;CAOf"}
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* StorageService — localStorage wrapper with TTL, events, import/export.
|
|
3
|
+
*
|
|
4
|
+
* Features:
|
|
5
|
+
* - get/set/remove/clear with TTL (seconds)
|
|
6
|
+
* - Event system: on('set', fn), on('set:key', fn), on('remove', fn)
|
|
7
|
+
* - Backup/restore, import/export (JSON)
|
|
8
|
+
* - Auto-cleans expired items on access
|
|
9
|
+
*
|
|
10
|
+
* Register via DI:
|
|
11
|
+
* app.singleton('storage', () => new StorageService('myapp'));
|
|
12
|
+
*/
|
|
13
|
+
// ─── StorageService ─────────────────────────────────────────────
|
|
14
|
+
export class StorageService {
|
|
15
|
+
static getInstance(key = 'default') {
|
|
16
|
+
if (!StorageService.instances.has(key)) {
|
|
17
|
+
StorageService.instances.set(key, new StorageService(key));
|
|
18
|
+
}
|
|
19
|
+
return StorageService.instances.get(key);
|
|
20
|
+
}
|
|
21
|
+
static instance(key = 'default') {
|
|
22
|
+
return StorageService.getInstance(key);
|
|
23
|
+
}
|
|
24
|
+
static removeInstance(key = 'default') {
|
|
25
|
+
StorageService.instances.delete(key);
|
|
26
|
+
}
|
|
27
|
+
constructor(storageKey = 'oneview_storage') {
|
|
28
|
+
this.data = {};
|
|
29
|
+
this.listeners = new Map();
|
|
30
|
+
this.storageKey = storageKey;
|
|
31
|
+
this.supported = typeof localStorage !== 'undefined';
|
|
32
|
+
if (this.supported)
|
|
33
|
+
this.load();
|
|
34
|
+
}
|
|
35
|
+
// ─── CRUD ───────────────────────────────────────────────────
|
|
36
|
+
/**
|
|
37
|
+
* Set value with optional TTL (in seconds).
|
|
38
|
+
* Supports bulk set: set({ key1: val1, key2: val2 })
|
|
39
|
+
*/
|
|
40
|
+
set(key, value, ttl) {
|
|
41
|
+
if (!this.supported)
|
|
42
|
+
return false;
|
|
43
|
+
if (typeof key === 'object' && key !== null) {
|
|
44
|
+
let ok = true;
|
|
45
|
+
for (const [k, v] of Object.entries(key)) {
|
|
46
|
+
if (!this.set(k, v, ttl))
|
|
47
|
+
ok = false;
|
|
48
|
+
}
|
|
49
|
+
return ok;
|
|
50
|
+
}
|
|
51
|
+
const oldValue = this.data[key]?.value;
|
|
52
|
+
const item = { value, timestamp: Date.now() };
|
|
53
|
+
if (ttl != null && ttl > 0)
|
|
54
|
+
item.ttl = ttl * 1000;
|
|
55
|
+
this.data[key] = item;
|
|
56
|
+
try {
|
|
57
|
+
this.save();
|
|
58
|
+
this.emit(`set:${key}`, { key, value, oldValue, ttl });
|
|
59
|
+
this.emit('set', { key, value, oldValue, ttl });
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
catch (e) {
|
|
63
|
+
this.data[key] = { value: oldValue, timestamp: Date.now() };
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/** Get value (null if expired or missing) */
|
|
68
|
+
get(key, defaultValue = null) {
|
|
69
|
+
if (!this.supported)
|
|
70
|
+
return defaultValue;
|
|
71
|
+
const item = this.data[key];
|
|
72
|
+
if (!item)
|
|
73
|
+
return defaultValue;
|
|
74
|
+
if (this.isExpired(item)) {
|
|
75
|
+
this.remove(key);
|
|
76
|
+
return defaultValue;
|
|
77
|
+
}
|
|
78
|
+
return (item.value ?? defaultValue);
|
|
79
|
+
}
|
|
80
|
+
/** Check if key exists and not expired */
|
|
81
|
+
has(key) {
|
|
82
|
+
const item = this.data[key];
|
|
83
|
+
if (!item)
|
|
84
|
+
return false;
|
|
85
|
+
if (this.isExpired(item)) {
|
|
86
|
+
this.remove(key);
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
/** Remove key */
|
|
92
|
+
remove(key) {
|
|
93
|
+
if (!this.supported || !(key in this.data))
|
|
94
|
+
return false;
|
|
95
|
+
const oldValue = this.data[key]?.value;
|
|
96
|
+
delete this.data[key];
|
|
97
|
+
try {
|
|
98
|
+
this.save();
|
|
99
|
+
this.emit(`remove:${key}`, { key, oldValue });
|
|
100
|
+
this.emit('remove', { key, oldValue });
|
|
101
|
+
return true;
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/** Clear all storage data */
|
|
108
|
+
clear() {
|
|
109
|
+
const oldData = { ...this.data };
|
|
110
|
+
this.data = {};
|
|
111
|
+
this.save();
|
|
112
|
+
this.emit('clear', { oldData });
|
|
113
|
+
}
|
|
114
|
+
// ─── Query ──────────────────────────────────────────────────
|
|
115
|
+
/** Get all non-expired values as plain object */
|
|
116
|
+
getAll() {
|
|
117
|
+
this.cleanExpired();
|
|
118
|
+
const result = {};
|
|
119
|
+
for (const [k, item] of Object.entries(this.data)) {
|
|
120
|
+
result[k] = item.value;
|
|
121
|
+
}
|
|
122
|
+
return result;
|
|
123
|
+
}
|
|
124
|
+
/** All non-expired keys */
|
|
125
|
+
getAllKeys() {
|
|
126
|
+
this.cleanExpired();
|
|
127
|
+
return Object.keys(this.data);
|
|
128
|
+
}
|
|
129
|
+
/** Number of stored items */
|
|
130
|
+
size() {
|
|
131
|
+
this.cleanExpired();
|
|
132
|
+
return Object.keys(this.data).length;
|
|
133
|
+
}
|
|
134
|
+
isEmpty() {
|
|
135
|
+
return this.size() === 0;
|
|
136
|
+
}
|
|
137
|
+
// ─── Import / Export / Backup ───────────────────────────────
|
|
138
|
+
/** Export all data as JSON string */
|
|
139
|
+
export() {
|
|
140
|
+
return JSON.stringify(this.getAll(), null, 2);
|
|
141
|
+
}
|
|
142
|
+
/** Import data from JSON string */
|
|
143
|
+
import(json) {
|
|
144
|
+
try {
|
|
145
|
+
const parsed = JSON.parse(json);
|
|
146
|
+
for (const [k, v] of Object.entries(parsed)) {
|
|
147
|
+
this.data[k] = { value: v, timestamp: Date.now() };
|
|
148
|
+
}
|
|
149
|
+
this.save();
|
|
150
|
+
this.emit('import', { data: parsed });
|
|
151
|
+
return true;
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
return false;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
/** Create backup snapshot */
|
|
158
|
+
backup() {
|
|
159
|
+
return { timestamp: Date.now(), key: this.storageKey, data: this.getAll() };
|
|
160
|
+
}
|
|
161
|
+
/** Restore from backup */
|
|
162
|
+
restore(backup) {
|
|
163
|
+
if (!backup?.data)
|
|
164
|
+
return false;
|
|
165
|
+
this.data = {};
|
|
166
|
+
for (const [k, v] of Object.entries(backup.data)) {
|
|
167
|
+
this.data[k] = { value: v, timestamp: Date.now() };
|
|
168
|
+
}
|
|
169
|
+
this.save();
|
|
170
|
+
this.emit('restore', { data: backup.data });
|
|
171
|
+
return true;
|
|
172
|
+
}
|
|
173
|
+
// ─── Event System ───────────────────────────────────────────
|
|
174
|
+
/** Subscribe to storage events. Returns unsubscribe function. */
|
|
175
|
+
on(event, callback) {
|
|
176
|
+
if (!this.listeners.has(event))
|
|
177
|
+
this.listeners.set(event, []);
|
|
178
|
+
this.listeners.get(event).push(callback);
|
|
179
|
+
return () => this.off(event, callback);
|
|
180
|
+
}
|
|
181
|
+
/** Unsubscribe from event */
|
|
182
|
+
off(event, callback) {
|
|
183
|
+
const list = this.listeners.get(event);
|
|
184
|
+
if (!list)
|
|
185
|
+
return;
|
|
186
|
+
const filtered = list.filter((cb) => cb !== callback);
|
|
187
|
+
filtered.length > 0 ? this.listeners.set(event, filtered) : this.listeners.delete(event);
|
|
188
|
+
}
|
|
189
|
+
// ─── Lifecycle ──────────────────────────────────────────────
|
|
190
|
+
destroy() {
|
|
191
|
+
this.listeners.clear();
|
|
192
|
+
this.data = {};
|
|
193
|
+
}
|
|
194
|
+
// ─── Private ────────────────────────────────────────────────
|
|
195
|
+
isExpired(item) {
|
|
196
|
+
if (!item.ttl)
|
|
197
|
+
return false;
|
|
198
|
+
return Date.now() > item.timestamp + item.ttl;
|
|
199
|
+
}
|
|
200
|
+
cleanExpired() {
|
|
201
|
+
for (const key of Object.keys(this.data)) {
|
|
202
|
+
if (this.isExpired(this.data[key])) {
|
|
203
|
+
delete this.data[key];
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
this.save();
|
|
207
|
+
}
|
|
208
|
+
load() {
|
|
209
|
+
try {
|
|
210
|
+
const raw = localStorage.getItem(this.storageKey);
|
|
211
|
+
if (raw)
|
|
212
|
+
this.data = JSON.parse(raw);
|
|
213
|
+
}
|
|
214
|
+
catch {
|
|
215
|
+
this.data = {};
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
save() {
|
|
219
|
+
if (!this.supported)
|
|
220
|
+
return;
|
|
221
|
+
try {
|
|
222
|
+
localStorage.setItem(this.storageKey, JSON.stringify(this.data));
|
|
223
|
+
}
|
|
224
|
+
catch (e) {
|
|
225
|
+
console.error('[StorageService] Failed to save:', e);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
emit(event, data) {
|
|
229
|
+
const cbs = this.listeners.get(event);
|
|
230
|
+
if (!cbs)
|
|
231
|
+
return;
|
|
232
|
+
for (const cb of cbs) {
|
|
233
|
+
try {
|
|
234
|
+
cb(data);
|
|
235
|
+
}
|
|
236
|
+
catch (e) {
|
|
237
|
+
console.error(`[StorageService] Event listener error (${event}):`, e);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
StorageService.instances = new Map();
|
|
243
|
+
//# sourceMappingURL=StorageService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageService.js","sourceRoot":"","sources":["../../../../src/core/services/StorageService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* StoreService — In-memory reactive key-value store.
|
|
3
|
+
*
|
|
4
|
+
* Features:
|
|
5
|
+
* - get/set/has/remove with TTL (minutes)
|
|
6
|
+
* - Subscribe to single or multiple keys (batched via microtask)
|
|
7
|
+
* - Expiration callbacks (onExpire)
|
|
8
|
+
* - Lazy expiration on access + periodic batch cleanup
|
|
9
|
+
* - Dynamic property access: store.user === store.get('user')
|
|
10
|
+
*
|
|
11
|
+
* Register via DI:
|
|
12
|
+
* app.singleton('store', StoreService);
|
|
13
|
+
*/
|
|
14
|
+
export declare class StoreService {
|
|
15
|
+
static instances: Map<string, StoreService>;
|
|
16
|
+
static getInstance(key?: string): StoreService;
|
|
17
|
+
static instance(key?: string): StoreService;
|
|
18
|
+
static removeInstance(key?: string): void;
|
|
19
|
+
private data;
|
|
20
|
+
private ttlMap;
|
|
21
|
+
private listeners;
|
|
22
|
+
private multiListeners;
|
|
23
|
+
private expirationListeners;
|
|
24
|
+
private changedKeys;
|
|
25
|
+
private pendingFlush;
|
|
26
|
+
private cleanupTimer;
|
|
27
|
+
/** Protected method names — cannot be used as data keys */
|
|
28
|
+
private static RESERVED;
|
|
29
|
+
[key: string]: any;
|
|
30
|
+
constructor(cleanupIntervalMs?: number);
|
|
31
|
+
/** Set value with optional TTL (in minutes) */
|
|
32
|
+
set<T = any>(key: string, value: T, ttl?: number | null): void;
|
|
33
|
+
/** Get value (returns null if expired or missing) */
|
|
34
|
+
get<T = any>(key: string): T | null;
|
|
35
|
+
/** Check if key exists and is not expired */
|
|
36
|
+
has(key: string): boolean;
|
|
37
|
+
/** Remove key, returns removed value or null */
|
|
38
|
+
remove(key: string): any;
|
|
39
|
+
/** Clear all data, listeners, TTLs */
|
|
40
|
+
clear(): void;
|
|
41
|
+
/**
|
|
42
|
+
* Subscribe to key changes. Returns unsubscribe function.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* store.subscribe('user', (value) => { ... });
|
|
46
|
+
* store.subscribe(['user', 'token'], (values) => { ... });
|
|
47
|
+
*/
|
|
48
|
+
subscribe(key: string | string[], callback: (value: any) => void): () => void;
|
|
49
|
+
/** Unsubscribe specific callback from key */
|
|
50
|
+
unsubscribe(key: string, callback: (value: any) => void): void;
|
|
51
|
+
/** Subscribe to TTL expiration of a key */
|
|
52
|
+
onExpire(key: string, callback: (value: any) => void): () => void;
|
|
53
|
+
/** Get TTL info for a key */
|
|
54
|
+
getTTL(key: string): {
|
|
55
|
+
ttl: number;
|
|
56
|
+
createdAt: number;
|
|
57
|
+
expiresAt: number;
|
|
58
|
+
remaining: number;
|
|
59
|
+
expired: boolean;
|
|
60
|
+
} | null;
|
|
61
|
+
/** Refresh TTL (reset timer). Pass null to use existing TTL. */
|
|
62
|
+
refreshTTL(key: string, ttl?: number | null): void;
|
|
63
|
+
/** Remove TTL from key (key lives forever) */
|
|
64
|
+
removeTTL(key: string): void;
|
|
65
|
+
/** All non-expired keys */
|
|
66
|
+
keys(): string[];
|
|
67
|
+
/** All non-expired values */
|
|
68
|
+
values<T = any>(): T[];
|
|
69
|
+
/** All non-expired entries */
|
|
70
|
+
entries<T = any>(): Array<[string, T]>;
|
|
71
|
+
/** Destroy — clear all + stop cleanup timer */
|
|
72
|
+
destroy(): void;
|
|
73
|
+
private isExpired;
|
|
74
|
+
private expire;
|
|
75
|
+
private cleanExpired;
|
|
76
|
+
private queueChange;
|
|
77
|
+
private flush;
|
|
78
|
+
private removeDynamicProp;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=StoreService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StoreService.d.ts","sourceRoot":"","sources":["../../../../src/core/services/StoreService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAkBH,qBAAa,YAAY;IACrB,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAa;IAExD,MAAM,CAAC,WAAW,CAAC,GAAG,GAAE,MAAkB,GAAG,YAAY;IAOzD,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAE,MAAkB,GAAG,YAAY;IAItD,MAAM,CAAC,cAAc,CAAC,GAAG,GAAE,MAAkB,GAAG,IAAI;IAIpD,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,SAAS,CAAkD;IACnE,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,mBAAmB,CAAkD;IAC7E,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAA+C;IAEnE,2DAA2D;IAC3D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAIpB;IAEH,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;gBAEP,iBAAiB,GAAE,MAAe;IAQ9C,+CAA+C;IAC/C,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,GAAE,MAAM,GAAG,IAAW,GAAG,IAAI;IAyBpE,qDAAqD;IACrD,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAQnC,6CAA6C;IAC7C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAQzB,gDAAgD;IAChD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAcxB,sCAAsC;IACtC,KAAK,IAAI,IAAI;IAcb;;;;;;OAMG;IACH,SAAS,CACL,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAC/B,MAAM,IAAI;IAmBb,6CAA6C;IAC7C,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAO9D,2CAA2C;IAC3C,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,IAAI;IAgBjE,6BAA6B;IAC7B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAOtH,gEAAgE;IAChE,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IASlD,8CAA8C;IAC9C,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAM5B,2BAA2B;IAC3B,IAAI,IAAI,MAAM,EAAE;IAKhB,6BAA6B;IAC7B,MAAM,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE;IAItB,8BAA8B;IAC9B,OAAO,CAAC,CAAC,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAMtC,+CAA+C;IAC/C,OAAO,IAAI,IAAI;IAUf,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,MAAM;IAoBd,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,KAAK;IA+Bb,OAAO,CAAC,iBAAiB;CAM5B"}
|